both sides measured with a generation "current" drive surface; the reading calibers match
Units present on only one side
The units on both sides match exactly.
Changes in framework overhead share
framework overhead as a share of end-to-end; a drop means overhead is amortizing better
Rows marked "unreadable": this concurrency exceeds the parallel capacity of the machine this run was on: the body's self-reported duration contains scheduling waits from oversubscription, which is not the same thing as 'wall clock / concurrency', so subtracting them is meaningless (measured, it produced negative values). End-to-end, throughput and the body's self-reported values remain valid, so they are given as usual.. These groups get no "change" value on either side - it would compare the difference of two unreadable numbers; end-to-end and throughput are in the absolute-durations table below and in each version's report.
adapter
concurrency
tier (microseconds)
zoo-framework==0.7.1b0
zoo-framework==0.8.0
change
apscheduler
1
40
80.15%
82.72%
up 1.032x
apscheduler
1
300
44.02%
45.98%
up 1.044x
apscheduler
1
2700
8.97%
10.26%
up 1.144x
apscheduler
1
10000
3.67%
3.60%
down 0.981x
apscheduler
4
40
79.88%
78.18%
down 0.979x
apscheduler
4
300
40.02%
40.22%
up 1.005x
apscheduler
4
2700
9.78%
9.79%
up 1.001x
apscheduler
4
10000
-
-
unreadable
apscheduler
16
40
-
-
unreadable
apscheduler
16
300
-
-
unreadable
apscheduler
16
2700
-
-
unreadable
apscheduler
16
10000
-
-
unreadable
apscheduler
64
40
-
-
unreadable
apscheduler
64
300
-
-
unreadable
apscheduler
64
2700
-
-
unreadable
apscheduler
64
10000
-
-
unreadable
asyncio_pool
1
40
65.83%
69.72%
up 1.059x
asyncio_pool
1
300
26.35%
26.53%
up 1.007x
asyncio_pool
1
2700
4.54%
4.58%
up 1.009x
asyncio_pool
1
10000
2.05%
1.58%
down 0.771x
asyncio_pool
4
40
65.20%
65.64%
up 1.007x
asyncio_pool
4
300
26.02%
25.72%
down 0.989x
asyncio_pool
4
2700
4.90%
4.02%
down 0.821x
asyncio_pool
4
10000
-
-
unreadable
asyncio_pool
16
40
-
-
unreadable
asyncio_pool
16
300
-
-
unreadable
asyncio_pool
16
2700
-
-
unreadable
asyncio_pool
16
10000
-
-
unreadable
asyncio_pool
64
40
-
-
unreadable
asyncio_pool
64
300
-
-
unreadable
asyncio_pool
64
2700
-
-
unreadable
asyncio_pool
64
10000
-
-
unreadable
bare_thread
1
40
64.64%
63.87%
down 0.988x
bare_thread
1
300
26.00%
25.54%
down 0.982x
bare_thread
1
2700
4.26%
4.26%
up 1.001x
bare_thread
1
10000
1.36%
1.33%
down 0.976x
bare_thread
4
40
68.16%
69.06%
up 1.013x
bare_thread
4
300
29.31%
28.67%
down 0.978x
bare_thread
4
2700
4.68%
4.69%
up 1.001x
bare_thread
4
10000
-
-
unreadable
bare_thread
16
40
-
-
unreadable
bare_thread
16
300
-
-
unreadable
bare_thread
16
2700
-
-
unreadable
bare_thread
16
10000
-
-
unreadable
bare_thread
64
40
-
-
unreadable
bare_thread
64
300
-
-
unreadable
bare_thread
64
2700
-
-
unreadable
bare_thread
64
10000
-
-
unreadable
process_pool
1
40
84.46%
84.78%
up 1.004x
process_pool
1
300
49.83%
49.47%
down 0.993x
process_pool
1
2700
11.47%
11.34%
down 0.989x
process_pool
1
10000
3.15%
3.39%
up 1.077x
process_pool
4
40
59.90%
53.06%
down 0.886x
process_pool
4
300
-
-
unreadable
process_pool
4
2700
-
-
unreadable
process_pool
4
10000
-
-
unreadable
process_pool
16
40
-
-
unreadable
process_pool
16
300
-
-
unreadable
process_pool
16
2700
-
-
unreadable
process_pool
16
10000
-
-
unreadable
process_pool
64
40
-
-
unreadable
process_pool
64
300
-
-
unreadable
process_pool
64
2700
-
-
unreadable
process_pool
64
10000
-
-
unreadable
thread_pool
1
40
40.53%
39.13%
down 0.965x
thread_pool
1
300
12.18%
11.12%
down 0.913x
thread_pool
1
2700
1.65%
1.81%
up 1.100x
thread_pool
1
10000
0.70%
0.73%
up 1.044x
thread_pool
4
40
48.10%
48.39%
up 1.006x
thread_pool
4
300
15.90%
15.31%
down 0.963x
thread_pool
4
2700
3.74%
3.67%
down 0.982x
thread_pool
4
10000
-
-
unreadable
thread_pool
16
40
-
-
unreadable
thread_pool
16
300
-
-
unreadable
thread_pool
16
2700
-
-
unreadable
thread_pool
16
10000
-
-
unreadable
thread_pool
64
40
-
-
unreadable
thread_pool
64
300
-
-
unreadable
thread_pool
64
2700
-
-
unreadable
thread_pool
64
10000
-
-
unreadable
zoo
1
40
71.79%
71.17%
down 0.991x
zoo
1
300
43.97%
30.28%
down 0.689x
zoo
1
2700
4.94%
4.86%
down 0.984x
zoo
1
10000
1.68%
1.50%
down 0.891x
zoo
4
40
73.41%
72.44%
down 0.987x
zoo
4
300
33.89%
33.04%
down 0.975x
zoo
4
2700
6.52%
7.13%
up 1.093x
zoo
4
10000
-
-
unreadable
zoo
16
40
-
-
unreadable
zoo
16
300
-
-
unreadable
zoo
16
2700
-
-
unreadable
zoo
16
10000
-
-
unreadable
zoo
64
40
-
-
unreadable
zoo
64
300
-
-
unreadable
zoo
64
2700
-
-
unreadable
zoo
64
10000
-
-
unreadable
Changes in multiples versus each baseline
baseline median / framework-under-test median; a rise means the framework under test got relatively faster
baseline
concurrency
tier (microseconds)
zoo-framework==0.7.1b0
zoo-framework==0.8.0
change
apscheduler
1
40
1.607x
1.616x
up 1.006x
apscheduler
1
300
1.422x
1.257x
down 0.884x
apscheduler
1
2700
1.093x
1.030x
down 0.942x
apscheduler
1
10000
1.002x
1.027x
up 1.026x
apscheduler
4
40
1.301x
1.276x
down 0.981x
apscheduler
4
300
1.125x
1.129x
up 1.003x
apscheduler
4
2700
1.038x
1.060x
up 1.022x
apscheduler
4
10000
0.990x
1.005x
up 1.015x
apscheduler
16
40
1.191x
1.234x
up 1.037x
apscheduler
16
300
1.061x
1.122x
up 1.057x
apscheduler
16
2700
1.030x
1.045x
up 1.015x
apscheduler
16
10000
1.006x
1.012x
up 1.006x
apscheduler
64
40
1.101x
1.254x
up 1.139x
apscheduler
64
300
1.056x
1.106x
up 1.047x
apscheduler
64
2700
1.024x
1.020x
down 0.996x
apscheduler
64
10000
1.041x
0.937x
down 0.900x
asyncio_pool
1
40
0.789x
1.226x
up 1.553x
asyncio_pool
1
300
1.032x
0.936x
down 0.907x
asyncio_pool
1
2700
1.015x
0.965x
down 0.950x
asyncio_pool
1
10000
1.022x
0.981x
down 0.960x
asyncio_pool
4
40
0.764x
0.780x
up 1.021x
asyncio_pool
4
300
0.881x
0.891x
up 1.011x
asyncio_pool
4
2700
0.958x
0.982x
up 1.025x
asyncio_pool
4
10000
0.970x
0.974x
up 1.003x
asyncio_pool
16
40
0.660x
0.655x
down 0.992x
asyncio_pool
16
300
0.862x
0.846x
down 0.981x
asyncio_pool
16
2700
0.989x
0.960x
down 0.971x
asyncio_pool
16
10000
0.974x
0.983x
up 1.009x
asyncio_pool
64
40
0.599x
0.628x
up 1.049x
asyncio_pool
64
300
0.805x
0.820x
up 1.018x
asyncio_pool
64
2700
0.953x
0.973x
up 1.022x
asyncio_pool
64
10000
1.009x
0.978x
down 0.970x
bare_thread
1
40
0.820x
0.832x
up 1.014x
bare_thread
1
300
1.047x
0.916x
down 0.874x
bare_thread
1
2700
0.992x
0.957x
down 0.965x
bare_thread
1
10000
0.970x
0.966x
down 0.995x
bare_thread
4
40
0.789x
0.843x
up 1.069x
bare_thread
4
300
0.906x
0.901x
down 0.995x
bare_thread
4
2700
0.928x
0.970x
up 1.044x
bare_thread
4
10000
0.966x
0.978x
up 1.013x
bare_thread
16
40
0.828x
0.852x
up 1.029x
bare_thread
16
300
0.936x
0.903x
down 0.965x
bare_thread
16
2700
0.951x
0.935x
down 0.983x
bare_thread
16
10000
0.938x
0.979x
up 1.045x
bare_thread
64
40
0.837x
0.891x
up 1.064x
bare_thread
64
300
0.909x
0.916x
up 1.009x
bare_thread
64
2700
0.929x
0.963x
up 1.036x
bare_thread
64
10000
0.955x
0.924x
down 0.968x
process_pool
1
40
1.937x
2.124x
up 1.096x
process_pool
1
300
1.538x
1.419x
down 0.922x
process_pool
1
2700
1.079x
1.065x
down 0.988x
process_pool
1
10000
1.030x
1.020x
down 0.991x
process_pool
4
40
1.147x
0.956x
down 0.833x
process_pool
4
300
0.630x
0.746x
up 1.184x
process_pool
4
2700
0.482x
0.483x
up 1.003x
process_pool
4
10000
0.461x
0.463x
up 1.004x
process_pool
16
40
0.761x
0.764x
up 1.004x
process_pool
16
300
0.611x
0.597x
down 0.977x
process_pool
16
2700
0.498x
0.492x
down 0.989x
process_pool
16
10000
0.468x
0.465x
down 0.994x
process_pool
64
40
0.940x
1.021x
up 1.087x
process_pool
64
300
0.639x
0.668x
up 1.045x
process_pool
64
2700
0.476x
0.477x
up 1.003x
process_pool
64
10000
0.451x
0.436x
down 0.968x
thread_pool
1
40
0.416x
0.444x
up 1.068x
thread_pool
1
300
0.854x
0.749x
down 0.877x
thread_pool
1
2700
0.993x
0.949x
down 0.956x
thread_pool
1
10000
0.998x
0.981x
down 0.983x
thread_pool
4
40
0.473x
0.481x
up 1.018x
thread_pool
4
300
0.764x
0.770x
up 1.008x
thread_pool
4
2700
0.946x
0.963x
up 1.018x
thread_pool
4
10000
0.974x
0.976x
up 1.002x
thread_pool
16
40
0.441x
0.445x
up 1.010x
thread_pool
16
300
0.747x
0.765x
up 1.024x
thread_pool
16
2700
0.942x
0.743x
down 0.789x
thread_pool
16
10000
0.954x
0.963x
up 1.010x
thread_pool
64
40
0.444x
0.463x
up 1.044x
thread_pool
64
300
0.730x
0.761x
up 1.042x
thread_pool
64
2700
0.957x
0.963x
up 1.006x
thread_pool
64
10000
1.013x
0.972x
down 0.960x
Native task line: three execution forms
this line contrasts three execution forms of the same subject and is not read against the baseline adapters above; the comparable figure is the within-run ratio of that form's per-task median to pure Python's. Per-task medians are not comparable across runs and are therefore not listed here - take them from each version's own report
zoo-framework==0.7.1b0: this line is not_applicable on this side (the framework under test has no such capability (symbols not found: adaptive_params, dual_arm_worker, native_params, native_task_worker) - this line does not apply to this version, and that is not a failure) - no comparison figures can be given for it
zoo-framework==0.8.0: this line is not_applicable on this side (the framework under test has no such capability (symbols not found: adaptive_params, dual_arm_worker, native_params, native_task_worker) - this line does not apply to this version, and that is not a failure) - no comparison figures can be given for it
Absolute durations (not comparable across runs)
absolute durations are not comparable across runs: read them for magnitude only, never for version differences