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.8.0
zoo-framework==0.9.0
change
apscheduler
1
40
82.72%
79.81%
down 0.965x
apscheduler
1
300
45.98%
44.93%
down 0.977x
apscheduler
1
2700
10.26%
9.02%
down 0.879x
apscheduler
1
10000
3.60%
3.19%
down 0.887x
apscheduler
4
40
78.18%
78.08%
down 0.999x
apscheduler
4
300
40.22%
39.64%
down 0.986x
apscheduler
4
2700
9.79%
8.71%
down 0.890x
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
69.72%
67.08%
down 0.962x
asyncio_pool
1
300
26.53%
26.24%
down 0.989x
asyncio_pool
1
2700
4.58%
4.58%
up 1.001x
asyncio_pool
1
10000
1.58%
1.54%
down 0.978x
asyncio_pool
4
40
65.64%
68.70%
up 1.047x
asyncio_pool
4
300
25.72%
25.85%
up 1.005x
asyncio_pool
4
2700
4.02%
4.45%
up 1.108x
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.87%
64.13%
up 1.004x
bare_thread
1
300
25.54%
25.34%
down 0.992x
bare_thread
1
2700
4.26%
4.02%
down 0.942x
bare_thread
1
10000
1.33%
1.25%
down 0.942x
bare_thread
4
40
69.06%
70.52%
up 1.021x
bare_thread
4
300
28.67%
28.21%
down 0.984x
bare_thread
4
2700
4.69%
4.05%
down 0.864x
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.78%
83.82%
down 0.989x
process_pool
1
300
49.47%
48.87%
down 0.988x
process_pool
1
2700
11.34%
11.37%
up 1.002x
process_pool
1
10000
3.39%
3.45%
up 1.016x
process_pool
4
40
53.06%
67.43%
up 1.271x
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
39.13%
41.38%
up 1.057x
thread_pool
1
300
11.12%
11.10%
down 0.998x
thread_pool
1
2700
1.81%
2.35%
up 1.297x
thread_pool
1
10000
0.73%
0.67%
down 0.910x
thread_pool
4
40
48.39%
48.25%
down 0.997x
thread_pool
4
300
15.31%
14.92%
down 0.975x
thread_pool
4
2700
3.67%
2.85%
down 0.777x
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.17%
71.66%
up 1.007x
zoo
1
300
30.28%
32.12%
up 1.061x
zoo
1
2700
4.86%
5.65%
up 1.162x
zoo
1
10000
1.50%
2.55%
up 1.702x
zoo
4
40
72.44%
73.26%
up 1.011x
zoo
4
300
33.04%
36.28%
up 1.098x
zoo
4
2700
7.13%
7.68%
up 1.078x
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.8.0
zoo-framework==0.9.0
change
apscheduler
1
40
1.616x
1.580x
down 0.978x
apscheduler
1
300
1.257x
1.208x
down 0.961x
apscheduler
1
2700
1.030x
1.089x
up 1.057x
apscheduler
1
10000
1.027x
0.991x
down 0.964x
apscheduler
4
40
1.276x
1.244x
down 0.974x
apscheduler
4
300
1.129x
1.053x
down 0.933x
apscheduler
4
2700
1.060x
1.013x
down 0.955x
apscheduler
4
10000
1.005x
1.015x
up 1.010x
apscheduler
16
40
1.234x
1.089x
down 0.882x
apscheduler
16
300
1.122x
1.073x
down 0.957x
apscheduler
16
2700
1.045x
1.028x
down 0.984x
apscheduler
16
10000
1.012x
0.980x
down 0.968x
apscheduler
64
40
1.254x
1.065x
down 0.850x
apscheduler
64
300
1.106x
1.022x
down 0.924x
apscheduler
64
2700
1.020x
1.004x
down 0.984x
apscheduler
64
10000
0.937x
0.965x
up 1.030x
asyncio_pool
1
40
1.226x
0.769x
down 0.627x
asyncio_pool
1
300
0.936x
0.860x
down 0.920x
asyncio_pool
1
2700
0.965x
0.999x
up 1.036x
asyncio_pool
1
10000
0.981x
0.942x
down 0.960x
asyncio_pool
4
40
0.780x
0.839x
up 1.076x
asyncio_pool
4
300
0.891x
0.840x
down 0.942x
asyncio_pool
4
2700
0.982x
0.935x
down 0.952x
asyncio_pool
4
10000
0.974x
0.976x
up 1.003x
asyncio_pool
16
40
0.655x
0.652x
down 0.996x
asyncio_pool
16
300
0.846x
0.835x
down 0.988x
asyncio_pool
16
2700
0.960x
0.966x
up 1.006x
asyncio_pool
16
10000
0.983x
0.985x
up 1.002x
asyncio_pool
64
40
0.628x
0.580x
down 0.924x
asyncio_pool
64
300
0.820x
0.783x
down 0.955x
asyncio_pool
64
2700
0.973x
0.952x
down 0.978x
asyncio_pool
64
10000
0.978x
0.988x
up 1.010x
bare_thread
1
40
0.832x
0.816x
down 0.981x
bare_thread
1
300
0.916x
0.856x
down 0.935x
bare_thread
1
2700
0.957x
0.970x
up 1.014x
bare_thread
1
10000
0.966x
0.959x
down 0.992x
bare_thread
4
40
0.843x
0.970x
up 1.151x
bare_thread
4
300
0.901x
0.864x
down 0.959x
bare_thread
4
2700
0.970x
0.919x
down 0.947x
bare_thread
4
10000
0.978x
0.959x
down 0.981x
bare_thread
16
40
0.852x
0.815x
down 0.957x
bare_thread
16
300
0.903x
0.903x
down 1.000x
bare_thread
16
2700
0.935x
0.935x
up 1.001x
bare_thread
16
10000
0.979x
0.953x
down 0.973x
bare_thread
64
40
0.891x
0.827x
down 0.929x
bare_thread
64
300
0.916x
0.864x
down 0.943x
bare_thread
64
2700
0.963x
0.906x
down 0.941x
bare_thread
64
10000
0.924x
0.933x
up 1.009x
process_pool
1
40
2.124x
1.827x
down 0.860x
process_pool
1
300
1.419x
1.352x
down 0.953x
process_pool
1
2700
1.065x
1.093x
up 1.026x
process_pool
1
10000
1.020x
0.982x
down 0.963x
process_pool
4
40
0.956x
0.819x
down 0.856x
process_pool
4
300
0.746x
0.627x
down 0.841x
process_pool
4
2700
0.483x
0.470x
down 0.974x
process_pool
4
10000
0.463x
0.457x
down 0.988x
process_pool
16
40
0.764x
0.729x
down 0.954x
process_pool
16
300
0.597x
0.592x
down 0.991x
process_pool
16
2700
0.492x
0.473x
down 0.960x
process_pool
16
10000
0.465x
0.470x
up 1.011x
process_pool
64
40
1.021x
0.936x
down 0.917x
process_pool
64
300
0.668x
0.611x
down 0.915x
process_pool
64
2700
0.477x
0.462x
down 0.968x
process_pool
64
10000
0.436x
0.445x
up 1.020x
thread_pool
1
40
0.444x
0.415x
down 0.935x
thread_pool
1
300
0.749x
0.719x
down 0.960x
thread_pool
1
2700
0.949x
0.976x
up 1.028x
thread_pool
1
10000
0.981x
0.930x
down 0.948x
thread_pool
4
40
0.481x
0.466x
down 0.969x
thread_pool
4
300
0.770x
0.723x
down 0.938x
thread_pool
4
2700
0.963x
0.931x
down 0.966x
thread_pool
4
10000
0.976x
0.971x
down 0.995x
thread_pool
16
40
0.445x
0.438x
down 0.984x
thread_pool
16
300
0.765x
0.729x
down 0.953x
thread_pool
16
2700
0.743x
0.956x
up 1.286x
thread_pool
16
10000
0.963x
0.972x
up 1.009x
thread_pool
64
40
0.463x
0.430x
down 0.930x
thread_pool
64
300
0.761x
0.714x
down 0.938x
thread_pool
64
2700
0.963x
0.913x
down 0.948x
thread_pool
64
10000
0.972x
0.972x
up 1.000x
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.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
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
Absolute durations (not comparable across runs)
absolute durations are not comparable across runs: read them for magnitude only, never for version differences