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.10.0
zoo-framework==0.11.0
change
apscheduler
1
40
82.14%
81.31%
down 0.990x
apscheduler
1
300
44.63%
46.45%
up 1.041x
apscheduler
1
2700
9.74%
9.43%
down 0.968x
apscheduler
1
10000
4.13%
4.37%
up 1.059x
apscheduler
4
40
77.73%
77.32%
down 0.995x
apscheduler
4
300
40.54%
42.90%
up 1.058x
apscheduler
4
2700
9.67%
10.29%
up 1.063x
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
66.96%
67.95%
up 1.015x
asyncio_pool
1
300
26.17%
26.86%
up 1.026x
asyncio_pool
1
2700
4.50%
4.87%
up 1.081x
asyncio_pool
1
10000
1.41%
1.50%
up 1.064x
asyncio_pool
4
40
66.65%
66.81%
up 1.002x
asyncio_pool
4
300
25.54%
25.61%
up 1.002x
asyncio_pool
4
2700
4.68%
5.57%
up 1.190x
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
63.81%
63.22%
down 0.991x
bare_thread
1
300
28.08%
24.74%
down 0.881x
bare_thread
1
2700
4.20%
4.28%
up 1.020x
bare_thread
1
10000
1.26%
1.20%
down 0.951x
bare_thread
4
40
68.11%
68.24%
up 1.002x
bare_thread
4
300
27.64%
29.06%
up 1.052x
bare_thread
4
2700
4.32%
4.38%
up 1.015x
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
82.88%
83.79%
up 1.011x
process_pool
1
300
50.03%
47.86%
down 0.957x
process_pool
1
2700
11.29%
11.72%
up 1.038x
process_pool
1
10000
3.64%
3.66%
up 1.004x
process_pool
4
40
49.63%
46.48%
down 0.936x
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
38.45%
39.28%
up 1.022x
thread_pool
1
300
10.75%
11.59%
up 1.078x
thread_pool
1
2700
1.80%
1.96%
up 1.089x
thread_pool
1
10000
0.60%
0.60%
down 1.000x
thread_pool
4
40
47.40%
48.94%
up 1.033x
thread_pool
4
300
15.92%
15.26%
down 0.959x
thread_pool
4
2700
3.15%
4.06%
up 1.290x
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
67.93%
68.65%
up 1.011x
zoo
1
300
28.57%
27.69%
down 0.969x
zoo
1
2700
5.17%
5.00%
down 0.968x
zoo
1
10000
1.81%
1.74%
down 0.963x
zoo
4
40
72.88%
72.38%
down 0.993x
zoo
4
300
31.79%
31.63%
down 0.995x
zoo
4
2700
5.27%
5.40%
up 1.026x
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.10.0
zoo-framework==0.11.0
change
apscheduler
1
40
1.829x
1.962x
up 1.072x
apscheduler
1
300
1.289x
1.364x
up 1.059x
apscheduler
1
2700
1.116x
1.061x
down 0.951x
apscheduler
1
10000
0.996x
1.018x
up 1.023x
apscheduler
4
40
1.381x
1.452x
up 1.052x
apscheduler
4
300
1.184x
1.235x
up 1.043x
apscheduler
4
2700
1.066x
1.038x
down 0.974x
apscheduler
4
10000
0.997x
1.015x
up 1.018x
apscheduler
16
40
1.473x
1.451x
down 0.986x
apscheduler
16
300
1.143x
1.161x
up 1.016x
apscheduler
16
2700
1.009x
1.023x
up 1.014x
apscheduler
16
10000
0.978x
1.011x
up 1.034x
apscheduler
64
40
1.215x
1.241x
up 1.021x
apscheduler
64
300
1.071x
1.128x
up 1.053x
apscheduler
64
2700
1.013x
1.023x
up 1.010x
apscheduler
64
10000
0.981x
0.963x
down 0.982x
asyncio_pool
1
40
0.891x
0.918x
up 1.030x
asyncio_pool
1
300
0.952x
0.943x
down 0.990x
asyncio_pool
1
2700
0.931x
0.959x
up 1.029x
asyncio_pool
1
10000
0.954x
0.947x
down 0.992x
asyncio_pool
4
40
0.872x
0.884x
up 1.013x
asyncio_pool
4
300
0.935x
0.938x
up 1.003x
asyncio_pool
4
2700
0.965x
0.948x
down 0.982x
asyncio_pool
4
10000
0.993x
1.001x
up 1.008x
asyncio_pool
16
40
0.809x
0.856x
up 1.058x
asyncio_pool
16
300
0.898x
0.898x
up 1.000x
asyncio_pool
16
2700
0.964x
0.944x
down 0.979x
asyncio_pool
16
10000
0.951x
0.999x
up 1.051x
asyncio_pool
64
40
0.670x
0.638x
down 0.952x
asyncio_pool
64
300
0.792x
0.838x
up 1.058x
asyncio_pool
64
2700
0.946x
0.949x
up 1.004x
asyncio_pool
64
10000
0.994x
0.975x
down 0.982x
bare_thread
1
40
0.899x
0.902x
up 1.003x
bare_thread
1
300
0.954x
0.954x
down 1.000x
bare_thread
1
2700
0.972x
0.981x
up 1.009x
bare_thread
1
10000
1.004x
0.970x
down 0.966x
bare_thread
4
40
0.885x
0.917x
up 1.037x
bare_thread
4
300
0.932x
0.931x
down 0.999x
bare_thread
4
2700
0.934x
0.920x
down 0.985x
bare_thread
4
10000
0.974x
0.967x
down 0.992x
bare_thread
16
40
1.022x
1.062x
up 1.039x
bare_thread
16
300
0.981x
0.970x
down 0.989x
bare_thread
16
2700
0.931x
0.936x
up 1.005x
bare_thread
16
10000
0.936x
0.973x
up 1.039x
bare_thread
64
40
0.916x
0.882x
down 0.963x
bare_thread
64
300
0.899x
0.946x
up 1.053x
bare_thread
64
2700
0.927x
0.924x
down 0.997x
bare_thread
64
10000
0.933x
0.924x
down 0.990x
process_pool
1
40
2.106x
2.142x
up 1.017x
process_pool
1
300
1.427x
1.433x
up 1.004x
process_pool
1
2700
1.079x
1.084x
up 1.005x
process_pool
1
10000
1.008x
1.020x
up 1.011x
process_pool
4
40
1.029x
0.996x
down 0.967x
process_pool
4
300
0.672x
0.749x
up 1.114x
process_pool
4
2700
0.491x
0.486x
down 0.991x
process_pool
4
10000
0.458x
0.464x
up 1.014x
process_pool
16
40
0.942x
0.998x
up 1.059x
process_pool
16
300
0.638x
0.628x
down 0.984x
process_pool
16
2700
0.477x
0.475x
down 0.996x
process_pool
16
10000
0.448x
0.470x
up 1.049x
process_pool
64
40
1.058x
1.039x
down 0.982x
process_pool
64
300
0.630x
0.655x
up 1.040x
process_pool
64
2700
0.483x
0.463x
down 0.960x
process_pool
64
10000
0.448x
0.448x
down 1.000x
thread_pool
1
40
0.530x
0.505x
down 0.953x
thread_pool
1
300
0.761x
0.789x
up 1.037x
thread_pool
1
2700
0.954x
0.944x
down 0.990x
thread_pool
1
10000
0.969x
0.944x
down 0.974x
thread_pool
4
40
0.518x
0.532x
up 1.026x
thread_pool
4
300
0.826x
0.788x
down 0.954x
thread_pool
4
2700
0.950x
0.939x
down 0.988x
thread_pool
4
10000
0.975x
0.989x
up 1.015x
thread_pool
16
40
0.530x
0.570x
up 1.074x
thread_pool
16
300
0.800x
0.807x
up 1.009x
thread_pool
16
2700
0.929x
0.950x
up 1.023x
thread_pool
16
10000
0.952x
0.988x
up 1.038x
thread_pool
64
40
0.484x
0.464x
down 0.959x
thread_pool
64
300
0.741x
0.756x
up 1.021x
thread_pool
64
2700
0.943x
0.924x
down 0.980x
thread_pool
64
10000
0.953x
0.990x
up 1.039x
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.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
zoo-framework==0.11.0: judged at concurrency 1; native faster on R8, R125; slower on R1; undecided on none
Absolute durations (not comparable across runs)
absolute durations are not comparable across runs: read them for magnitude only, never for version differences