MCPcopy
hub / github.com/ray-project/ray / test_timing

Function test_timing

python/ray/tests/test_microbenchmarks.py:10–84  ·  view source on GitHub ↗
(ray_start_regular)

Source from the content-addressed store, hash-verified

8
9
10def test_timing(ray_start_regular):
11 @ray.remote
12 def empty_function():
13 pass
14
15 @ray.remote
16 def trivial_function():
17 return 1
18
19 # Measure the time required to submit a remote task to the scheduler.
20 elapsed_times = []
21 for _ in range(1000):
22 start_time = time.time()
23 empty_function.remote()
24 end_time = time.time()
25 elapsed_times.append(end_time - start_time)
26 elapsed_times = np.sort(elapsed_times)
27 average_elapsed_time = sum(elapsed_times) / 1000
28 print("Time required to submit an empty function call:")
29 print(" Average: {}".format(average_elapsed_time))
30 print(" 90th percentile: {}".format(elapsed_times[900]))
31 print(" 99th percentile: {}".format(elapsed_times[990]))
32 print(" worst: {}".format(elapsed_times[999]))
33 # average_elapsed_time should be about 0.00038.
34
35 # Measure the time required to submit a remote task to the scheduler
36 # (where the remote task returns one value).
37 elapsed_times = []
38 for _ in range(1000):
39 start_time = time.time()
40 trivial_function.remote()
41 end_time = time.time()
42 elapsed_times.append(end_time - start_time)
43 elapsed_times = np.sort(elapsed_times)
44 average_elapsed_time = sum(elapsed_times) / 1000
45 print("Time required to submit a trivial function call:")
46 print(" Average: {}".format(average_elapsed_time))
47 print(" 90th percentile: {}".format(elapsed_times[900]))
48 print(" 99th percentile: {}".format(elapsed_times[990]))
49 print(" worst: {}".format(elapsed_times[999]))
50 # average_elapsed_time should be about 0.001.
51
52 # Measure the time required to submit a remote task to the scheduler
53 # and get the result.
54 elapsed_times = []
55 for _ in range(1000):
56 start_time = time.time()
57 x = trivial_function.remote()
58 ray.get(x)
59 end_time = time.time()
60 elapsed_times.append(end_time - start_time)
61 elapsed_times = np.sort(elapsed_times)
62 average_elapsed_time = sum(elapsed_times) / 1000
63 print("Time required to submit a trivial function call and get the result:")
64 print(" Average: {}".format(average_elapsed_time))
65 print(" 90th percentile: {}".format(elapsed_times[900]))
66 print(" 99th percentile: {}".format(elapsed_times[990]))
67 print(" worst: {}".format(elapsed_times[999]))

Callers

nothing calls this directly

Calls 10

printFunction · 0.85
sumFunction · 0.70
getMethod · 0.65
putMethod · 0.65
rangeFunction · 0.50
timeMethod · 0.45
remoteMethod · 0.45
appendMethod · 0.45
sortMethod · 0.45
formatMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…