mirror of
https://github.com/wassname/ray.git
synced 2026-06-27 20:22:39 +08:00
Add benchmark for ray.get (#2499)
This commit is contained in:
committed by
Philipp Moritz
parent
ecc100cb3b
commit
e10377567c
@@ -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 GetBase(object):
|
||||
def setup(self):
|
||||
self.oid = ray.put(None)
|
||||
|
||||
def time_get(self):
|
||||
ray.get(self.oid)
|
||||
|
||||
def peakmem_get(self):
|
||||
ray.get(self.oid)
|
||||
|
||||
|
||||
class GetBoolSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(True)
|
||||
|
||||
|
||||
class GetIntSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(42)
|
||||
|
||||
|
||||
class GetFloatSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(4.2)
|
||||
|
||||
|
||||
class GetComplexSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(4 + 2j)
|
||||
|
||||
|
||||
class GetNoneSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(None)
|
||||
|
||||
|
||||
class GetStringSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put("forty-two")
|
||||
|
||||
|
||||
class GetBytesSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(b"forty-two")
|
||||
|
||||
|
||||
class GetListSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put([i for i in range(100)])
|
||||
|
||||
|
||||
class GetSetSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put({i for i in range(100)})
|
||||
|
||||
|
||||
class GetTupleSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(tuple(range(100)))
|
||||
|
||||
|
||||
class GetDictSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put({i: i for i in range(100)})
|
||||
|
||||
|
||||
class GetFunctionSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(square)
|
||||
|
||||
|
||||
class GetClassSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(Foo)
|
||||
|
||||
|
||||
class GetClassInstanceSuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(Foo())
|
||||
|
||||
|
||||
class GetArraySuite(GetBase):
|
||||
def setup(self):
|
||||
self.oid = ray.put(np.random.random((100, 100, 100)))
|
||||
Reference in New Issue
Block a user