2019-04-07 16:11:50 -07:00
|
|
|
import gym
|
|
|
|
import time
|
|
|
|
import unittest
|
|
|
|
|
|
|
|
import ray
|
2019-06-03 06:49:24 +08:00
|
|
|
from ray.rllib.evaluation.rollout_worker import RolloutWorker
|
|
|
|
from ray.rllib.tests.test_rollout_worker import MockPolicy
|
2019-04-07 16:11:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
class TestPerf(unittest.TestCase):
|
2020-03-12 04:39:47 +01:00
|
|
|
@classmethod
|
|
|
|
def setUpClass(cls):
|
|
|
|
ray.init(num_cpus=5)
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def tearDownClass(cls):
|
|
|
|
ray.shutdown()
|
|
|
|
|
2019-04-07 16:11:50 -07:00
|
|
|
# Tested on Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz
|
|
|
|
# 11/23/18: Samples per second 8501.125113727468
|
|
|
|
# 03/01/19: Samples per second 8610.164353268685
|
2020-03-12 04:39:47 +01:00
|
|
|
def test_baseline_performance(self):
|
2019-04-07 16:11:50 -07:00
|
|
|
for _ in range(20):
|
2019-06-03 06:49:24 +08:00
|
|
|
ev = RolloutWorker(
|
2019-04-07 16:11:50 -07:00
|
|
|
env_creator=lambda _: gym.make("CartPole-v0"),
|
2020-10-15 18:21:30 +02:00
|
|
|
policy_spec=MockPolicy,
|
2020-03-14 12:05:04 -07:00
|
|
|
rollout_fragment_length=100)
|
2019-04-07 16:11:50 -07:00
|
|
|
start = time.time()
|
|
|
|
count = 0
|
|
|
|
while time.time() - start < 1:
|
|
|
|
count += ev.sample().count
|
|
|
|
print()
|
|
|
|
print("Samples per second {}".format(
|
|
|
|
count / (time.time() - start)))
|
|
|
|
print()
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2020-03-12 04:39:47 +01:00
|
|
|
import pytest
|
|
|
|
import sys
|
|
|
|
sys.exit(pytest.main(["-v", __file__]))
|