zoo-bench version comparison: zoo-framework==0.6.0 -> zoo-framework==0.7.1b0

Run environment and measurement calibers

the two runs ran on identical environments
The two sides use different drive-surface mechanisms (previous vs current): one generation takes the completion signal from the framework's internal callback, the other from the framework's own result responder, and both costs are counted in the framework's end-to-end time. Part of the difference between the sides is therefore the cost of the drive mechanism itself - it is part of this version change, but must not be read as performance improvement in general.

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.
adapterconcurrencytier (microseconds)zoo-framework==0.6.0zoo-framework==0.7.1b0change
apscheduler14080.50%80.15%down 0.996x
apscheduler130046.08%44.02%down 0.955x
apscheduler127008.91%8.97%up 1.006x
apscheduler1100003.41%3.67%up 1.077x
apscheduler44079.29%79.88%up 1.007x
apscheduler430039.72%40.02%up 1.008x
apscheduler4270010.01%9.78%down 0.977x
apscheduler410000--unreadable
apscheduler1640--unreadable
apscheduler16300--unreadable
apscheduler162700--unreadable
apscheduler1610000--unreadable
apscheduler6440--unreadable
apscheduler64300--unreadable
apscheduler642700--unreadable
apscheduler6410000--unreadable
asyncio_pool14066.60%65.83%down 0.988x
asyncio_pool130025.72%26.35%up 1.024x
asyncio_pool127004.87%4.54%down 0.932x
asyncio_pool1100001.51%2.05%up 1.353x
asyncio_pool44064.75%65.20%up 1.007x
asyncio_pool430024.92%26.02%up 1.044x
asyncio_pool427004.93%4.90%down 0.992x
asyncio_pool410000--unreadable
asyncio_pool1640--unreadable
asyncio_pool16300--unreadable
asyncio_pool162700--unreadable
asyncio_pool1610000--unreadable
asyncio_pool6440--unreadable
asyncio_pool64300--unreadable
asyncio_pool642700--unreadable
asyncio_pool6410000--unreadable
bare_thread14064.52%64.64%up 1.002x
bare_thread130026.40%26.00%down 0.985x
bare_thread127004.18%4.26%up 1.019x
bare_thread1100001.31%1.36%up 1.038x
bare_thread44067.82%68.16%up 1.005x
bare_thread430029.04%29.31%up 1.009x
bare_thread427004.60%4.68%up 1.017x
bare_thread410000--unreadable
bare_thread1640--unreadable
bare_thread16300--unreadable
bare_thread162700--unreadable
bare_thread1610000--unreadable
bare_thread6440--unreadable
bare_thread64300--unreadable
bare_thread642700--unreadable
bare_thread6410000--unreadable
process_pool14083.87%84.46%up 1.007x
process_pool130049.32%49.83%up 1.010x
process_pool1270011.36%11.47%up 1.010x
process_pool1100003.30%3.15%down 0.956x
process_pool44051.69%59.90%up 1.159x
process_pool4300--unreadable
process_pool42700--unreadable
process_pool410000--unreadable
process_pool1640--unreadable
process_pool16300--unreadable
process_pool162700--unreadable
process_pool1610000--unreadable
process_pool6440--unreadable
process_pool64300--unreadable
process_pool642700--unreadable
process_pool6410000--unreadable
thread_pool14040.99%40.53%down 0.989x
thread_pool130012.38%12.18%down 0.984x
thread_pool127001.76%1.65%down 0.937x
thread_pool1100000.64%0.70%up 1.093x
thread_pool44048.45%48.10%down 0.993x
thread_pool430014.55%15.90%up 1.093x
thread_pool427002.23%3.74%up 1.675x
thread_pool410000--unreadable
thread_pool1640--unreadable
thread_pool16300--unreadable
thread_pool162700--unreadable
thread_pool1610000--unreadable
thread_pool6440--unreadable
thread_pool64300--unreadable
thread_pool642700--unreadable
thread_pool6410000--unreadable
zoo14088.13%71.79%down 0.815x
zoo130062.15%43.97%down 0.707x
zoo1270017.04%4.94%down 0.290x
zoo1100005.28%1.68%down 0.318x
zoo44089.54%73.41%down 0.820x
zoo430062.78%33.89%down 0.540x
zoo4270019.63%6.52%down 0.332x
zoo410000--unreadable
zoo1640--unreadable
zoo16300--unreadable
zoo162700--unreadable
zoo1610000--unreadable
zoo6440--unreadable
zoo64300--unreadable
zoo642700--unreadable
zoo6410000--unreadable

Changes in multiples versus each baseline

baseline median / framework-under-test median; a rise means the framework under test got relatively faster
baselineconcurrencytier (microseconds)zoo-framework==0.6.0zoo-framework==0.7.1b0change
apscheduler1400.485x1.607xup 3.316x
apscheduler13000.644x1.422xup 2.208x
apscheduler127000.916x1.093xup 1.193x
apscheduler1100000.941x1.002xup 1.064x
apscheduler4400.437x1.301xup 2.976x
apscheduler43000.607x1.125xup 1.854x
apscheduler427000.908x1.038xup 1.143x
apscheduler4100000.947x0.990xup 1.046x
apscheduler16400.371x1.191xup 3.212x
apscheduler163000.551x1.061xup 1.925x
apscheduler1627000.900x1.030xup 1.144x
apscheduler16100000.975x1.006xup 1.031x
apscheduler64400.396x1.101xup 2.782x
apscheduler643000.602x1.056xup 1.754x
apscheduler6427000.887x1.024xup 1.154x
apscheduler64100000.995x1.041xup 1.046x
asyncio_pool1400.240x0.789xup 3.288x
asyncio_pool13000.449x1.032xup 2.296x
asyncio_pool127000.802x1.015xup 1.266x
asyncio_pool1100000.924x1.022xup 1.106x
asyncio_pool4400.250x0.764xup 3.050x
asyncio_pool43000.494x0.881xup 1.785x
asyncio_pool427000.847x0.958xup 1.131x
asyncio_pool4100000.906x0.970xup 1.071x
asyncio_pool16400.227x0.660xup 2.911x
asyncio_pool163000.450x0.862xup 1.915x
asyncio_pool1627000.830x0.989xup 1.192x
asyncio_pool16100000.940x0.974xup 1.036x
asyncio_pool64400.213x0.599xup 2.805x
asyncio_pool643000.441x0.805xup 1.824x
asyncio_pool6427000.852x0.953xup 1.118x
asyncio_pool64100000.958x1.009xup 1.053x
bare_thread1400.237x0.820xup 3.460x
bare_thread13000.460x1.047xup 2.276x
bare_thread127000.825x0.992xup 1.203x
bare_thread1100000.909x0.970xup 1.067x
bare_thread4400.260x0.789xup 3.034x
bare_thread43000.479x0.906xup 1.890x
bare_thread427000.814x0.928xup 1.140x
bare_thread4100000.923x0.966xup 1.047x
bare_thread16400.282x0.828xup 2.938x
bare_thread163000.482x0.936xup 1.941x
bare_thread1627000.818x0.951xup 1.163x
bare_thread16100000.941x0.938xdown 0.996x
bare_thread64400.300x0.837xup 2.787x
bare_thread643000.504x0.909xup 1.801x
bare_thread6427000.832x0.929xup 1.117x
bare_thread64100000.896x0.955xup 1.066x
process_pool1400.555x1.937xup 3.491x
process_pool13000.699x1.538xup 2.202x
process_pool127000.924x1.079xup 1.167x
process_pool1100000.924x1.030xup 1.115x
process_pool4400.316x1.147xup 3.636x
process_pool43000.327x0.630xup 1.925x
process_pool427000.420x0.482xup 1.146x
process_pool4100000.431x0.461xup 1.071x
process_pool16400.265x0.761xup 2.874x
process_pool163000.317x0.611xup 1.930x
process_pool1627000.427x0.498xup 1.166x
process_pool16100000.438x0.468xup 1.069x
process_pool64400.347x0.940xup 2.705x
process_pool643000.357x0.639xup 1.788x
process_pool6427000.407x0.476xup 1.168x
process_pool64100000.435x0.451xup 1.036x
thread_pool1400.123x0.416xup 3.368x
thread_pool13000.390x0.854xup 2.191x
thread_pool127000.818x0.993xup 1.214x
thread_pool1100000.912x0.998xup 1.095x
thread_pool4400.156x0.473xup 3.036x
thread_pool43000.417x0.764xup 1.833x
thread_pool427000.809x0.946xup 1.170x
thread_pool4100000.922x0.974xup 1.057x
thread_pool16400.151x0.441xup 2.914x
thread_pool163000.402x0.747xup 1.857x
thread_pool1627000.844x0.942xup 1.116x
thread_pool16100000.958x0.954xdown 0.996x
thread_pool64400.158x0.444xup 2.808x
thread_pool643000.422x0.730xup 1.731x
thread_pool6427000.839x0.957xup 1.141x
thread_pool64100000.967x1.013xup 1.047x

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

Absolute durations (not comparable across runs)

absolute durations are not comparable across runs: read them for magnitude only, never for version differences
adapterconcurrencytier (microseconds)zoo-framework==0.6.0zoo-framework==0.7.1b0
apscheduler140293.74 microseconds292.58 microseconds
apscheduler1300559.04 microseconds549.93 microseconds
apscheduler127002989.37 microseconds2990.93 microseconds
apscheduler1100009888.78 microseconds9740.93 microseconds
apscheduler440267.20 microseconds264.75 microseconds
apscheduler4300526.01 microseconds523.52 microseconds
apscheduler427003003.27 microseconds2992.78 microseconds
apscheduler41000010132.25 microseconds9918.65 microseconds
apscheduler1640226.27 microseconds245.94 microseconds
apscheduler16300484.41 microseconds491.80 microseconds
apscheduler1627002976.65 microseconds2959.89 microseconds
apscheduler161000010332.23 microseconds10207.30 microseconds
apscheduler6440223.95 microseconds224.61 microseconds
apscheduler64300507.24 microseconds496.93 microseconds
apscheduler6427002949.00 microseconds2960.54 microseconds
apscheduler641000010585.20 microseconds10690.74 microseconds
asyncio_pool140145.49 microseconds143.70 microseconds
asyncio_pool1300389.99 microseconds398.87 microseconds
asyncio_pool127002617.44 microseconds2777.72 microseconds
asyncio_pool1100009708.36 microseconds9938.65 microseconds
asyncio_pool440153.05 microseconds155.40 microseconds
asyncio_pool4300428.07 microseconds410.22 microseconds
asyncio_pool427002800.21 microseconds2761.77 microseconds
asyncio_pool4100009695.15 microseconds9720.20 microseconds
asyncio_pool1640138.37 microseconds136.30 microseconds
asyncio_pool16300395.42 microseconds399.23 microseconds
asyncio_pool1627002743.74 microseconds2844.43 microseconds
asyncio_pool16100009963.54 microseconds9884.71 microseconds
asyncio_pool6440120.73 microseconds122.10 microseconds
asyncio_pool64300371.91 microseconds378.93 microseconds
asyncio_pool6427002831.90 microseconds2753.90 microseconds
asyncio_pool641000010188.75 microseconds10358.02 microseconds
bare_thread140143.75 microseconds149.41 microseconds
bare_thread1300399.35 microseconds404.88 microseconds
bare_thread127002690.41 microseconds2713.79 microseconds
bare_thread1100009551.82 microseconds9438.11 microseconds
bare_thread440158.85 microseconds160.45 microseconds
bare_thread4300415.41 microseconds421.56 microseconds
bare_thread427002692.74 microseconds2677.37 microseconds
bare_thread4100009872.23 microseconds9672.96 microseconds
bare_thread1640171.89 microseconds170.92 microseconds
bare_thread16300423.77 microseconds433.71 microseconds
bare_thread1627002703.79 microseconds2733.99 microseconds
bare_thread16100009971.65 microseconds9514.89 microseconds
bare_thread6440170.05 microseconds170.82 microseconds
bare_thread64300425.03 microseconds427.70 microseconds
bare_thread6427002764.10 microseconds2686.70 microseconds
bare_thread64100009526.32 microseconds9802.31 microseconds
process_pool140336.43 microseconds352.82 microseconds
process_pool1300606.27 microseconds594.83 microseconds
process_pool127003015.10 microseconds2950.60 microseconds
process_pool1100009702.46 microseconds10016.07 microseconds
process_pool440192.86 microseconds233.46 microseconds
process_pool4300283.82 microseconds293.33 microseconds
process_pool427001389.55 microseconds1388.74 microseconds
process_pool4100004607.58 microseconds4617.60 microseconds
process_pool1640161.53 microseconds157.11 microseconds
process_pool16300278.33 microseconds283.30 microseconds
process_pool1627001410.30 microseconds1430.37 microseconds
process_pool16100004636.38 microseconds4745.59 microseconds
process_pool6440196.54 microseconds191.67 microseconds
process_pool64300300.97 microseconds300.56 microseconds
process_pool6427001353.94 microseconds1375.81 microseconds
process_pool64100004628.92 microseconds4629.26 microseconds
thread_pool14074.84 microseconds75.72 microseconds
thread_pool1300338.26 microseconds330.18 microseconds
thread_pool127002669.31 microseconds2717.03 microseconds
thread_pool1100009576.81 microseconds9708.09 microseconds
thread_pool44095.11 microseconds96.14 microseconds
thread_pool4300361.48 microseconds355.71 microseconds
thread_pool427002675.81 microseconds2728.74 microseconds
thread_pool4100009867.14 microseconds9759.06 microseconds
thread_pool164092.31 microseconds91.05 microseconds
thread_pool16300353.51 microseconds346.24 microseconds
thread_pool1627002789.88 microseconds2707.33 microseconds
thread_pool161000010146.06 microseconds9679.74 microseconds
thread_pool644089.40 microseconds90.49 microseconds
thread_pool64300355.32 microseconds343.57 microseconds
thread_pool6427002787.87 microseconds2766.48 microseconds
thread_pool641000010289.12 microseconds10397.44 microseconds
zoo140606.25 microseconds182.10 microseconds
zoo1300867.95 microseconds386.65 microseconds
zoo127003262.99 microseconds2735.84 microseconds
zoo11000010505.17 microseconds9725.92 microseconds
zoo440611.17 microseconds203.45 microseconds
zoo4300866.98 microseconds465.41 microseconds
zoo427003307.49 microseconds2883.90 microseconds
zoo41000010700.07 microseconds10016.04 microseconds
zoo1640610.25 microseconds206.52 microseconds
zoo16300878.71 microseconds463.38 microseconds
zoo1627003306.27 microseconds2875.03 microseconds
zoo161000010595.73 microseconds10148.98 microseconds
zoo6440565.92 microseconds204.01 microseconds
zoo64300842.59 microseconds470.66 microseconds
zoo6427003323.21 microseconds2890.94 microseconds
zoo641000010635.73 microseconds10269.06 microseconds