中文
On this page
Run environment and measurement calibers Units present on only one side Changes in framework overhead share Changes in multiples versus each baseline Native task line: three execution forms Absolute durations (not comparable across runs)
zoo-framework==0.11.0: framework 0.11.0, 96 valid units, self-check passed zoo-framework @ git+https://github.com/YearsAlso/zoo-framework.git@dev: framework 0.11.2-beta, 96 valid units, self-check passed
Run environment and measurement calibers
the two runs ran on identical environments
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.11.0 zoo-framework @ git+https://github.com/YearsAlso/zoo-framework.git@dev change apscheduler 1 40 81.31% 82.43% up 1.014x apscheduler 1 300 46.45% 45.95% down 0.989x apscheduler 1 2700 9.43% 9.52% up 1.010x apscheduler 1 10000 4.37% 3.50% down 0.800x apscheduler 4 40 77.32% 77.98% up 1.009x apscheduler 4 300 42.90% 40.01% down 0.933x apscheduler 4 2700 10.29% 9.25% down 0.900x 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.95% 67.30% down 0.990x asyncio_pool 1 300 26.86% 27.77% up 1.034x asyncio_pool 1 2700 4.87% 4.39% down 0.901x asyncio_pool 1 10000 1.50% 1.71% up 1.139x asyncio_pool 4 40 66.81% 67.61% up 1.012x asyncio_pool 4 300 25.61% 26.84% up 1.048x asyncio_pool 4 2700 5.57% 5.48% down 0.984x 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.22% 64.62% up 1.022x bare_thread 1 300 24.74% 26.48% up 1.071x bare_thread 1 2700 4.28% 4.23% down 0.988x bare_thread 1 10000 1.20% 1.36% up 1.130x bare_thread 4 40 68.24% 68.53% up 1.004x bare_thread 4 300 29.06% 27.97% down 0.962x bare_thread 4 2700 4.38% 4.89% up 1.117x 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.79% 84.22% up 1.005x process_pool 1 300 47.86% 49.33% up 1.031x process_pool 1 2700 11.72% 11.32% down 0.966x process_pool 1 10000 3.66% 3.65% down 0.998x process_pool 4 40 46.48% 43.29% down 0.931x 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.28% 41.18% up 1.048x thread_pool 1 300 11.59% 11.25% down 0.971x thread_pool 1 2700 1.96% 1.80% down 0.920x thread_pool 1 10000 0.60% 0.60% up 1.001x thread_pool 4 40 48.94% 48.41% down 0.989x thread_pool 4 300 15.26% 15.15% down 0.993x thread_pool 4 2700 4.06% 3.51% down 0.863x 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 68.65% 67.93% down 0.989x zoo 1 300 27.69% 28.03% up 1.012x zoo 1 2700 5.00% 5.00% down 0.999x zoo 1 10000 1.74% 1.63% down 0.933x zoo 4 40 72.38% 72.39% up 1.000x zoo 4 300 31.63% 33.16% up 1.048x zoo 4 2700 5.40% 6.07% up 1.122x 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.11.0 zoo-framework @ git+https://github.com/YearsAlso/zoo-framework.git@dev change apscheduler 1 40 1.962x 1.906x down 0.972x apscheduler 1 300 1.364x 1.349x down 0.989x apscheduler 1 2700 1.061x 1.085x up 1.022x apscheduler 1 10000 1.018x 1.007x down 0.989x apscheduler 4 40 1.452x 1.447x down 0.997x apscheduler 4 300 1.235x 1.161x down 0.940x apscheduler 4 2700 1.038x 1.001x down 0.963x apscheduler 4 10000 1.015x 1.004x down 0.990x apscheduler 16 40 1.451x 1.292x down 0.890x apscheduler 16 300 1.161x 1.085x down 0.934x apscheduler 16 2700 1.023x 1.013x down 0.990x apscheduler 16 10000 1.011x 1.007x down 0.996x apscheduler 64 40 1.241x 1.078x down 0.869x apscheduler 64 300 1.128x 1.101x down 0.976x apscheduler 64 2700 1.023x 1.007x down 0.985x apscheduler 64 10000 0.963x 0.976x up 1.014x asyncio_pool 1 40 0.918x 0.942x up 1.026x asyncio_pool 1 300 0.943x 0.939x down 0.995x asyncio_pool 1 2700 0.959x 0.980x up 1.023x asyncio_pool 1 10000 0.947x 0.960x up 1.014x asyncio_pool 4 40 0.884x 0.931x up 1.053x asyncio_pool 4 300 0.938x 0.940x up 1.002x asyncio_pool 4 2700 0.948x 0.946x down 0.998x asyncio_pool 4 10000 1.001x 0.972x down 0.971x asyncio_pool 16 40 0.856x 0.754x down 0.881x asyncio_pool 16 300 0.898x 0.851x down 0.947x asyncio_pool 16 2700 0.944x 0.953x up 1.009x asyncio_pool 16 10000 0.999x 0.977x down 0.978x asyncio_pool 64 40 0.638x 0.594x down 0.932x asyncio_pool 64 300 0.838x 0.825x down 0.984x asyncio_pool 64 2700 0.949x 0.963x up 1.015x asyncio_pool 64 10000 0.975x 0.939x down 0.963x bare_thread 1 40 0.902x 0.961x up 1.066x bare_thread 1 300 0.954x 0.946x down 0.992x bare_thread 1 2700 0.981x 0.957x down 0.975x bare_thread 1 10000 0.970x 0.968x down 0.998x bare_thread 4 40 0.917x 0.906x down 0.988x bare_thread 4 300 0.931x 0.918x down 0.986x bare_thread 4 2700 0.920x 0.922x up 1.002x bare_thread 4 10000 0.967x 0.976x up 1.010x bare_thread 16 40 1.062x 0.965x down 0.909x bare_thread 16 300 0.970x 0.910x down 0.938x bare_thread 16 2700 0.936x 0.930x down 0.994x bare_thread 16 10000 0.973x 0.958x down 0.984x bare_thread 64 40 0.882x 0.833x down 0.944x bare_thread 64 300 0.946x 0.919x down 0.971x bare_thread 64 2700 0.924x 0.952x up 1.030x bare_thread 64 10000 0.924x 0.912x down 0.987x process_pool 1 40 2.142x 2.313x up 1.080x process_pool 1 300 1.433x 1.440x up 1.005x process_pool 1 2700 1.084x 1.085x up 1.001x process_pool 1 10000 1.020x 0.990x down 0.971x process_pool 4 40 0.996x 0.958x down 0.963x process_pool 4 300 0.749x 0.682x down 0.911x process_pool 4 2700 0.486x 0.477x down 0.981x process_pool 4 10000 0.464x 0.468x up 1.008x process_pool 16 40 0.998x 0.881x down 0.883x process_pool 16 300 0.628x 0.590x down 0.940x process_pool 16 2700 0.475x 0.475x down 1.000x process_pool 16 10000 0.470x 0.464x down 0.987x process_pool 64 40 1.039x 0.995x down 0.958x process_pool 64 300 0.655x 0.664x up 1.013x process_pool 64 2700 0.463x 0.478x up 1.032x process_pool 64 10000 0.448x 0.451x up 1.008x thread_pool 1 40 0.505x 0.501x down 0.993x thread_pool 1 300 0.789x 0.765x down 0.970x thread_pool 1 2700 0.944x 0.968x up 1.026x thread_pool 1 10000 0.944x 0.965x up 1.022x thread_pool 4 40 0.532x 0.559x up 1.050x thread_pool 4 300 0.788x 0.771x down 0.978x thread_pool 4 2700 0.939x 0.924x down 0.984x thread_pool 4 10000 0.989x 0.958x down 0.968x thread_pool 16 40 0.570x 0.508x down 0.892x thread_pool 16 300 0.807x 0.741x down 0.918x thread_pool 16 2700 0.950x 0.942x down 0.991x thread_pool 16 10000 0.988x 0.964x down 0.976x thread_pool 64 40 0.464x 0.446x down 0.959x thread_pool 64 300 0.756x 0.762x up 1.009x thread_pool 64 2700 0.924x 0.918x down 0.994x thread_pool 64 10000 0.990x 0.980x down 0.990x
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.11.0: judged at concurrency 1; native faster on R8, R125; slower on R1; undecided on none zoo-framework @ git+https://github.com/YearsAlso/zoo-framework.git@dev: judged at concurrency 1; native faster on R8, R125; slower on R1; undecided on none
that execution form's per-task median / pure Python's, taken within the same run; a rise means that form got relatively slower than pure Python
tier (microseconds) concurrency execution form zoo-framework==0.11.0 zoo-framework @ git+https://github.com/YearsAlso/zoo-framework.git@dev change R1 1 native extension 1.027x 1.016x down 0.989x R1 1 online routing 1.249x 1.260x up 1.009x R1 4 native extension 1.035x 1.029x down 0.994x R1 4 online routing 1.043x 1.064x up 1.020x R1 16 native extension 1.047x 1.037x down 0.990x R1 16 online routing 1.079x 1.081x up 1.001x R1 64 native extension 1.041x 1.035x down 0.995x R1 64 online routing 1.109x 1.100x down 0.992x R8 1 native extension 0.945x 0.948x up 1.003x R8 1 online routing 1.206x 1.193x down 0.989x R8 4 native extension 0.980x 0.933x down 0.952x R8 4 online routing 1.021x 1.044x up 1.023x R8 16 native extension 0.978x 0.980x up 1.002x R8 16 online routing 1.060x 1.066x up 1.005x R8 64 native extension 0.992x 0.997x up 1.006x R8 64 online routing 1.105x 1.088x down 0.984x R125 1 native extension 0.675x 0.638x down 0.944x R125 1 online routing 0.760x 0.731x down 0.962x R125 4 native extension 0.707x 0.710x up 1.004x R125 4 online routing 0.726x 0.739x up 1.017x R125 16 native extension 0.725x 0.723x down 0.998x R125 16 online routing 0.742x 0.749x up 1.010x R125 64 native extension 0.737x 0.736x down 0.998x R125 64 online routing 0.773x 0.777x up 1.005x
the crossover verdict is unchanged: both sides have the same faster, slower and undecided tiers
Absolute durations (not comparable across runs)
absolute durations are not comparable across runs: read them for magnitude only, never for version differences
adapter concurrency tier (microseconds) zoo-framework==0.11.0 zoo-framework @ git+https://github.com/YearsAlso/zoo-framework.git@dev apscheduler 1 40 308.03 microseconds 287.86 microseconds apscheduler 1 300 562.94 microseconds 553.65 microseconds apscheduler 1 2700 2948.36 microseconds 2987.21 microseconds apscheduler 1 10000 10111.74 microseconds 9941.19 microseconds apscheduler 4 40 257.17 microseconds 252.70 microseconds apscheduler 4 300 546.38 microseconds 521.58 microseconds apscheduler 4 2700 2989.02 microseconds 2912.38 microseconds apscheduler 4 10000 10094.50 microseconds 9993.21 microseconds apscheduler 16 40 230.76 microseconds 229.36 microseconds apscheduler 16 300 512.03 microseconds 505.80 microseconds apscheduler 16 2700 2952.27 microseconds 2947.03 microseconds apscheduler 16 10000 10097.06 microseconds 10215.94 microseconds apscheduler 64 40 241.67 microseconds 221.11 microseconds apscheduler 64 300 510.06 microseconds 509.59 microseconds apscheduler 64 2700 2994.50 microseconds 2904.99 microseconds apscheduler 64 10000 10127.82 microseconds 10197.49 microseconds asyncio_pool 1 40 144.14 microseconds 142.30 microseconds asyncio_pool 1 300 389.15 microseconds 385.12 microseconds asyncio_pool 1 2700 2663.38 microseconds 2699.49 microseconds asyncio_pool 1 10000 9398.87 microseconds 9474.49 microseconds asyncio_pool 4 40 156.44 microseconds 162.47 microseconds asyncio_pool 4 300 414.86 microseconds 422.43 microseconds asyncio_pool 4 2700 2729.20 microseconds 2753.80 microseconds asyncio_pool 4 10000 9955.42 microseconds 9670.20 microseconds asyncio_pool 16 40 136.04 microseconds 133.81 microseconds asyncio_pool 16 300 395.94 microseconds 396.45 microseconds asyncio_pool 16 2700 2724.64 microseconds 2770.42 microseconds asyncio_pool 16 10000 9980.21 microseconds 9917.24 microseconds asyncio_pool 64 40 124.21 microseconds 121.88 microseconds asyncio_pool 64 300 378.92 microseconds 381.72 microseconds asyncio_pool 64 2700 2779.20 microseconds 2778.72 microseconds asyncio_pool 64 10000 10259.08 microseconds 9810.73 microseconds bare_thread 1 40 141.61 microseconds 145.22 microseconds bare_thread 1 300 393.51 microseconds 388.13 microseconds bare_thread 1 2700 2725.11 microseconds 2634.19 microseconds bare_thread 1 10000 9629.81 microseconds 9553.02 microseconds bare_thread 4 40 162.35 microseconds 158.14 microseconds bare_thread 4 300 411.77 microseconds 412.54 microseconds bare_thread 4 2700 2647.67 microseconds 2682.75 microseconds bare_thread 4 10000 9617.81 microseconds 9713.03 microseconds bare_thread 16 40 168.76 microseconds 171.28 microseconds bare_thread 16 300 427.79 microseconds 423.99 microseconds bare_thread 16 2700 2699.73 microseconds 2704.61 microseconds bare_thread 16 10000 9717.16 microseconds 9715.69 microseconds bare_thread 64 40 171.85 microseconds 170.85 microseconds bare_thread 64 300 427.59 microseconds 425.01 microseconds bare_thread 64 2700 2705.11 microseconds 2745.57 microseconds bare_thread 64 10000 9718.14 microseconds 9531.97 microseconds process_pool 1 40 336.29 microseconds 349.41 microseconds process_pool 1 300 591.15 microseconds 590.88 microseconds process_pool 1 2700 3012.93 microseconds 2988.31 microseconds process_pool 1 10000 10124.75 microseconds 9772.73 microseconds process_pool 4 40 176.27 microseconds 167.32 microseconds process_pool 4 300 331.48 microseconds 306.62 microseconds process_pool 4 2700 1400.14 microseconds 1389.63 microseconds process_pool 4 10000 4616.72 microseconds 4653.47 microseconds process_pool 16 40 158.72 microseconds 156.46 microseconds process_pool 16 300 276.84 microseconds 275.04 microseconds process_pool 16 2700 1369.73 microseconds 1380.71 microseconds process_pool 16 10000 4698.32 microseconds 4711.93 microseconds process_pool 64 40 202.33 microseconds 204.14 microseconds process_pool 64 300 296.22 microseconds 307.25 microseconds process_pool 64 2700 1356.60 microseconds 1379.00 microseconds process_pool 64 10000 4709.18 microseconds 4713.50 microseconds thread_pool 1 40 79.31 microseconds 75.73 microseconds thread_pool 1 300 325.37 microseconds 313.96 microseconds thread_pool 1 2700 2623.46 microseconds 2666.51 microseconds thread_pool 1 10000 9369.33 microseconds 9524.56 microseconds thread_pool 4 40 94.18 microseconds 97.54 microseconds thread_pool 4 300 348.68 microseconds 346.42 microseconds thread_pool 4 2700 2701.71 microseconds 2689.34 microseconds thread_pool 4 10000 9838.77 microseconds 9528.95 microseconds thread_pool 16 40 90.57 microseconds 90.20 microseconds thread_pool 16 300 355.80 microseconds 345.34 microseconds thread_pool 16 2700 2742.07 microseconds 2740.46 microseconds thread_pool 16 10000 9866.87 microseconds 9784.99 microseconds thread_pool 64 40 90.47 microseconds 91.39 microseconds thread_pool 64 300 341.71 microseconds 352.74 microseconds thread_pool 64 2700 2704.78 microseconds 2647.49 microseconds thread_pool 64 10000 10415.31 microseconds 10238.39 microseconds zoo 1 40 157.03 microseconds 151.05 microseconds zoo 1 300 412.58 microseconds 410.28 microseconds zoo 1 2700 2778.32 microseconds 2753.48 microseconds zoo 1 10000 9928.73 microseconds 9871.41 microseconds zoo 4 40 177.06 microseconds 174.59 microseconds zoo 4 300 442.41 microseconds 449.42 microseconds zoo 4 2700 2878.42 microseconds 2910.89 microseconds zoo 4 10000 9946.90 microseconds 9948.97 microseconds zoo 16 40 158.98 microseconds 177.55 microseconds zoo 16 300 440.91 microseconds 466.12 microseconds zoo 16 2700 2885.07 microseconds 2908.24 microseconds zoo 16 10000 9988.25 microseconds 10145.91 microseconds zoo 64 40 194.80 microseconds 205.09 microseconds zoo 64 300 452.02 microseconds 462.64 microseconds zoo 64 2700 2927.85 microseconds 2884.01 microseconds zoo 64 10000 10517.18 microseconds 10446.63 microseconds