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.9.0
zoo-framework==0.10.0
change
apscheduler
1
40
79.81%
82.14%
up 1.029x
apscheduler
1
300
44.93%
44.63%
down 0.993x
apscheduler
1
2700
9.02%
9.74%
up 1.081x
apscheduler
1
10000
3.19%
4.13%
up 1.295x
apscheduler
4
40
78.08%
77.73%
down 0.995x
apscheduler
4
300
39.64%
40.54%
up 1.023x
apscheduler
4
2700
8.71%
9.67%
up 1.110x
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
67.08%
66.96%
down 0.998x
asyncio_pool
1
300
26.24%
26.17%
down 0.997x
asyncio_pool
1
2700
4.58%
4.50%
down 0.982x
asyncio_pool
1
10000
1.54%
1.41%
down 0.912x
asyncio_pool
4
40
68.70%
66.65%
down 0.970x
asyncio_pool
4
300
25.85%
25.54%
down 0.988x
asyncio_pool
4
2700
4.45%
4.68%
up 1.052x
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.13%
63.81%
down 0.995x
bare_thread
1
300
25.34%
28.08%
up 1.108x
bare_thread
1
2700
4.02%
4.20%
up 1.046x
bare_thread
1
10000
1.25%
1.26%
up 1.011x
bare_thread
4
40
70.52%
68.11%
down 0.966x
bare_thread
4
300
28.21%
27.64%
down 0.980x
bare_thread
4
2700
4.05%
4.32%
up 1.066x
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
83.82%
82.88%
down 0.989x
process_pool
1
300
48.87%
50.03%
up 1.024x
process_pool
1
2700
11.37%
11.29%
down 0.993x
process_pool
1
10000
3.45%
3.64%
up 1.056x
process_pool
4
40
67.43%
49.63%
down 0.736x
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
41.38%
38.45%
down 0.929x
thread_pool
1
300
11.10%
10.75%
down 0.968x
thread_pool
1
2700
2.35%
1.80%
down 0.765x
thread_pool
1
10000
0.67%
0.60%
down 0.901x
thread_pool
4
40
48.25%
47.40%
down 0.982x
thread_pool
4
300
14.92%
15.92%
up 1.067x
thread_pool
4
2700
2.85%
3.15%
up 1.104x
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.66%
67.93%
down 0.948x
zoo
1
300
32.12%
28.57%
down 0.890x
zoo
1
2700
5.65%
5.17%
down 0.916x
zoo
1
10000
2.55%
1.81%
down 0.711x
zoo
4
40
73.26%
72.88%
down 0.995x
zoo
4
300
36.28%
31.79%
down 0.876x
zoo
4
2700
7.68%
5.27%
down 0.686x
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.9.0
zoo-framework==0.10.0
change
apscheduler
1
40
1.580x
1.829x
up 1.158x
apscheduler
1
300
1.208x
1.289x
up 1.066x
apscheduler
1
2700
1.089x
1.116x
up 1.024x
apscheduler
1
10000
0.991x
0.996x
up 1.005x
apscheduler
4
40
1.244x
1.381x
up 1.111x
apscheduler
4
300
1.053x
1.184x
up 1.125x
apscheduler
4
2700
1.013x
1.066x
up 1.053x
apscheduler
4
10000
1.015x
0.997x
down 0.982x
apscheduler
16
40
1.089x
1.473x
up 1.353x
apscheduler
16
300
1.073x
1.143x
up 1.065x
apscheduler
16
2700
1.028x
1.009x
down 0.982x
apscheduler
16
10000
0.980x
0.978x
down 0.998x
apscheduler
64
40
1.065x
1.215x
up 1.141x
apscheduler
64
300
1.022x
1.071x
up 1.048x
apscheduler
64
2700
1.004x
1.013x
up 1.009x
apscheduler
64
10000
0.965x
0.981x
up 1.016x
asyncio_pool
1
40
0.769x
0.891x
up 1.159x
asyncio_pool
1
300
0.860x
0.952x
up 1.107x
asyncio_pool
1
2700
0.999x
0.931x
down 0.932x
asyncio_pool
1
10000
0.942x
0.954x
up 1.013x
asyncio_pool
4
40
0.839x
0.872x
up 1.039x
asyncio_pool
4
300
0.840x
0.935x
up 1.113x
asyncio_pool
4
2700
0.935x
0.965x
up 1.032x
asyncio_pool
4
10000
0.976x
0.993x
up 1.017x
asyncio_pool
16
40
0.652x
0.809x
up 1.241x
asyncio_pool
16
300
0.835x
0.898x
up 1.075x
asyncio_pool
16
2700
0.966x
0.964x
down 0.998x
asyncio_pool
16
10000
0.985x
0.951x
down 0.965x
asyncio_pool
64
40
0.580x
0.670x
up 1.155x
asyncio_pool
64
300
0.783x
0.792x
up 1.012x
asyncio_pool
64
2700
0.952x
0.946x
down 0.994x
asyncio_pool
64
10000
0.988x
0.994x
up 1.006x
bare_thread
1
40
0.816x
0.899x
up 1.102x
bare_thread
1
300
0.856x
0.954x
up 1.114x
bare_thread
1
2700
0.970x
0.972x
up 1.002x
bare_thread
1
10000
0.959x
1.004x
up 1.048x
bare_thread
4
40
0.970x
0.885x
down 0.912x
bare_thread
4
300
0.864x
0.932x
up 1.078x
bare_thread
4
2700
0.919x
0.934x
up 1.017x
bare_thread
4
10000
0.959x
0.974x
up 1.016x
bare_thread
16
40
0.815x
1.022x
up 1.253x
bare_thread
16
300
0.903x
0.981x
up 1.086x
bare_thread
16
2700
0.935x
0.931x
down 0.996x
bare_thread
16
10000
0.953x
0.936x
down 0.982x
bare_thread
64
40
0.827x
0.916x
up 1.107x
bare_thread
64
300
0.864x
0.899x
up 1.040x
bare_thread
64
2700
0.906x
0.927x
up 1.023x
bare_thread
64
10000
0.933x
0.933x
up 1.001x
process_pool
1
40
1.827x
2.106x
up 1.153x
process_pool
1
300
1.352x
1.427x
up 1.056x
process_pool
1
2700
1.093x
1.079x
down 0.987x
process_pool
1
10000
0.982x
1.008x
up 1.027x
process_pool
4
40
0.819x
1.029x
up 1.257x
process_pool
4
300
0.627x
0.672x
up 1.072x
process_pool
4
2700
0.470x
0.491x
up 1.044x
process_pool
4
10000
0.457x
0.458x
up 1.001x
process_pool
16
40
0.729x
0.942x
up 1.293x
process_pool
16
300
0.592x
0.638x
up 1.078x
process_pool
16
2700
0.473x
0.477x
up 1.009x
process_pool
16
10000
0.470x
0.448x
down 0.954x
process_pool
64
40
0.936x
1.058x
up 1.130x
process_pool
64
300
0.611x
0.630x
up 1.032x
process_pool
64
2700
0.462x
0.483x
up 1.045x
process_pool
64
10000
0.445x
0.448x
up 1.007x
thread_pool
1
40
0.415x
0.530x
up 1.277x
thread_pool
1
300
0.719x
0.761x
up 1.058x
thread_pool
1
2700
0.976x
0.954x
down 0.977x
thread_pool
1
10000
0.930x
0.969x
up 1.041x
thread_pool
4
40
0.466x
0.518x
up 1.113x
thread_pool
4
300
0.723x
0.826x
up 1.142x
thread_pool
4
2700
0.931x
0.950x
up 1.021x
thread_pool
4
10000
0.971x
0.975x
up 1.004x
thread_pool
16
40
0.438x
0.530x
up 1.209x
thread_pool
16
300
0.729x
0.800x
up 1.097x
thread_pool
16
2700
0.956x
0.929x
down 0.972x
thread_pool
16
10000
0.972x
0.952x
down 0.979x
thread_pool
64
40
0.430x
0.484x
up 1.125x
thread_pool
64
300
0.714x
0.741x
up 1.038x
thread_pool
64
2700
0.913x
0.943x
up 1.033x
thread_pool
64
10000
0.972x
0.953x
down 0.980x
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.9.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
zoo-framework==0.10.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