mirror of
https://github.com/wassname/ray.git
synced 2026-06-30 01:23:10 +08:00
Add benchmarks for ray.put (#2489)
This commit is contained in:
committed by
Philipp Moritz
parent
302510ada0
commit
ccb9a27393
@@ -0,0 +1,108 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
|
||||
import numpy as np
|
||||
|
||||
import ray
|
||||
|
||||
|
||||
def setup():
|
||||
if not hasattr(setup, "is_initialized"):
|
||||
ray.init(num_workers=4, num_cpus=4)
|
||||
setup.is_initialized = True
|
||||
|
||||
|
||||
def square(x):
|
||||
return x * x
|
||||
|
||||
|
||||
class Foo(object):
|
||||
def bar(self):
|
||||
return 42
|
||||
|
||||
|
||||
class PutBase(object):
|
||||
def setup(self):
|
||||
self.object = None
|
||||
|
||||
def time_put(self):
|
||||
ray.put(self.object)
|
||||
|
||||
def peakmem_put(self):
|
||||
ray.put(self.object)
|
||||
|
||||
|
||||
class PutBoolSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = True
|
||||
|
||||
|
||||
class PutIntSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = 42
|
||||
|
||||
|
||||
class PutFloatSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = 4.2
|
||||
|
||||
|
||||
class PutComplexSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = 4 + 2j
|
||||
|
||||
|
||||
class PutNoneSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = None
|
||||
|
||||
|
||||
class PutStringSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = "forty-two"
|
||||
|
||||
|
||||
class PutBytesSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = b"forty-two"
|
||||
|
||||
|
||||
class PutListSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = [i for i in range(100)]
|
||||
|
||||
|
||||
class PutSetSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = {i for i in range(100)}
|
||||
|
||||
|
||||
class PutTupleSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = tuple(range(100))
|
||||
|
||||
|
||||
class PutDictSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = {i: i for i in range(100)}
|
||||
|
||||
|
||||
class PutFunctionSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = square
|
||||
|
||||
|
||||
class PutClassSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = Foo
|
||||
|
||||
|
||||
class PutClassInstanceSuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = Foo()
|
||||
|
||||
|
||||
class PutArraySuite(PutBase):
|
||||
def setup(self):
|
||||
self.object = np.random.random((100, 100, 100))
|
||||
Reference in New Issue
Block a user