zerodep Benchmark Report

Version: 7e5cc0e  |  Commit: 7e5cc0ef  |  2026-07-02T02:16:09.315442+00:00

37
Modules
445
Comparisons
314
Faster than ref
26
Similar
105
Slower than ref
a2a (9) acp (9) aes (42) cache (10) cdp (0) config (5) diff (3) dotenv (3) frontmatter (6) httpclient (15) httpserver (18) jsonrpc (4) jsonschema (5) jsonx (12) llmstxt (0) markdown (5) multipart (30) persistdict (20) png (14) protobuf (25) qr (7) readability (12) retry (3) runner (10) scheduler (7) semver (6) soup (94) sparse_search (7) sse (3) structlog (4) tabulate (3) toon (6) useragent (4) validate (5) websocket (5) xml (6) yaml (28)📈 History

a2a

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Deserialize (Large)zerodepa2a-protocol515.9 µs440.3 µs1.9K2.3K498.0 µs1.40 ms39.5 µs530.1 µs427.9 µs557.1 µs8.3 µs448.2 µs1.2x slower
Deserialize (Medium)zerodepa2a-protocol30.2 µs27.9 µs33.1K35.9K29.3 µs213.4 µs2.4 µs31.4 µs26.9 µs73.5 µs1.6 µs28.7 µs1.1x slower
Deserialize (Small)zerodepa2a-protocol1.4 µs872.0 ns693.9K1.15M1.3 µs17.8 µs291.2 ns1.5 µs771.0 ns15.4 µs245.4 ns911.0 ns1.7x slower
Json Round Trip (Large)zerodepa2a-protocol2.22 ms13.58 ms449.673.62.17 ms2.57 ms40.4 µs2.28 ms2.20 ms4.556 s227.14 ms2.30 ms6.1x faster
Json Round Trip (Medium)zerodepa2a-protocol125.9 µs127.4 µs7.9K7.8K121.5 µs192.2 µs4.3 µs133.5 µs123.1 µs229.6 µs5.3 µs135.1 µs~equal
Json Round Trip (Small)zerodepa2a-protocol8.5 µs9.2 µs117.0K108.8K8.2 µs37.5 µs839.8 ns8.7 µs8.8 µs50.6 µs860.2 ns9.4 µs1.1x faster
Serialize (Large)zerodepa2a-protocol1.17 ms1.43 ms856.1698.21.14 ms5.47 ms168.3 µs1.18 ms1.41 ms1.60 ms15.5 µs1.46 ms1.2x faster
Serialize (Medium)zerodepa2a-protocol63.9 µs78.3 µs15.7K12.8K62.1 µs114.6 µs2.5 µs70.2 µs75.6 µs292.6 µs7.8 µs84.5 µs1.2x faster
Serialize (Small)zerodepa2a-protocol3.0 µs3.9 µs328.5K255.6K2.8 µs24.7 µs462.6 ns3.1 µs3.5 µs3.68 ms24.8 µs3.8 µs1.3x faster

acp

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Deserialize (Large)zerodepacp (ref)110.2 µs59.9 µs9.1K16.7K106.4 µs227.2 µs3.4 µs116.6 µs58.1 µs144.9 µs2.7 µs66.1 µs1.8x slower
Deserialize (Medium)zerodepacp (ref)4.3 µs43.6 µs231.3K23.0K4.1 µs26.6 µs520.7 ns4.4 µs42.0 µs139.8 µs2.4 µs46.5 µs10.1x faster
Deserialize (Small)zerodepacp (ref)1.3 µs1.3 µs776.2K761.3K1.2 µs14.9 µs295.5 ns1.3 µs1.2 µs62.6 µs416.8 ns1.3 µs~equal
Json Round Trip (Large)zerodepacp (ref)692.3 µs297.6 µs1.4K3.4K678.6 µs773.2 µs9.4 µs702.3 µs290.1 µs405.1 µs5.9 µs305.6 µs2.3x slower
Json Round Trip (Medium)zerodepacp (ref)66.8 µs61.5 µs15.0K16.3K64.6 µs125.7 µs2.9 µs73.2 µs59.3 µs148.6 µs3.3 µs68.2 µs1.1x slower
Json Round Trip (Small)zerodepacp (ref)7.5 µs5.2 µs133.6K192.1K7.2 µs26.0 µs679.8 ns7.6 µs5.0 µs20.9 µs538.3 ns5.3 µs1.4x slower
Serialize (Large)zerodepacp (ref)392.5 µs58.8 µs2.5K17.0K383.7 µs491.9 µs7.4 µs400.6 µs57.0 µs149.0 µs2.5 µs65.1 µs6.7x slower
Serialize (Medium)zerodepacp (ref)46.5 µs10.3 µs21.5K97.2K44.6 µs118.8 µs2.2 µs52.2 µs9.8 µs41.2 µs869.7 ns10.4 µs4.5x slower
Serialize (Small)zerodepacp (ref)3.0 µs977.9 ns333.9K1.02M2.8 µs64.5 µs503.8 ns3.0 µs892.0 ns30.5 µs314.6 ns1.0 µs3.1x slower

aes

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Cbc Decrypt (Large)pure_pythonPyCryptodome286.77 ms134.7 µs3.57.4K284.44 ms290.99 ms2.55 ms290.99 ms95.2 µs214.5 µs20.9 µs176.8 µs2128.6x slower
Cbc Decrypt (Large)opensslPyCryptodome14.8 µs134.7 µs67.7K7.4K14.2 µs39.5 µs1.1 µs15.2 µs95.2 µs214.5 µs20.9 µs176.8 µs9.1x faster
Cbc Decrypt (Medium)pure_pythonPyCryptodome4.48 ms10.5 µs223.295.3K4.43 ms4.75 ms40.4 µs4.54 ms10.0 µs43.9 µs901.3 ns11.1 µs426.9x slower
Cbc Decrypt (Medium)opensslPyCryptodome5.8 µs10.5 µs173.7K95.3K5.5 µs58.7 µs951.7 ns5.9 µs10.0 µs43.9 µs901.3 ns11.1 µs1.8x faster
Cbc Decrypt (Small)pure_pythonPyCryptodome86.0 µs8.3 µs11.6K120.9K82.7 µs363.6 µs8.5 µs92.3 µs7.9 µs28.7 µs867.9 ns8.4 µs10.4x slower
Cbc Decrypt (Small)opensslPyCryptodome5.3 µs8.3 µs188.5K120.9K5.0 µs28.5 µs792.8 ns5.4 µs7.9 µs28.7 µs867.9 ns8.4 µs1.6x faster
Cbc Encrypt (Large)pure_pythonPyCryptodome203.99 ms117.8 µs4.98.5K202.52 ms205.88 ms1.36 ms205.88 ms88.1 µs181.6 µs24.7 µs161.8 µs1731.1x slower
Cbc Encrypt (Large)opensslPyCryptodome55.7 µs117.8 µs18.0K8.5K54.8 µs87.8 µs2.0 µs61.5 µs88.1 µs181.6 µs24.7 µs161.8 µs2.1x faster
Cbc Encrypt (Medium)pure_pythonPyCryptodome3.35 ms10.1 µs298.598.9K3.22 ms5.47 ms287.1 µs3.93 ms9.0 µs31.9 µs889.9 ns10.6 µs331.4x slower
Cbc Encrypt (Medium)opensslPyCryptodome6.3 µs10.1 µs157.6K98.9K6.0 µs21.2 µs667.5 ns6.4 µs9.0 µs31.9 µs889.9 ns10.6 µs1.6x faster
Cbc Encrypt (Small)pure_pythonPyCryptodome64.5 µs7.8 µs15.5K128.6K62.3 µs191.9 µs3.7 µs70.9 µs7.3 µs114.0 µs1.4 µs7.9 µs8.3x slower
Cbc Encrypt (Small)opensslPyCryptodome5.2 µs7.8 µs192.0K128.6K5.0 µs21.3 µs639.2 ns5.3 µs7.3 µs114.0 µs1.4 µs7.9 µs1.5x faster
Ctr Encrypt (Large)pure_pythonPyCryptodome207.92 ms77.6 µs4.812.9K207.11 ms209.57 ms1.00 ms209.57 ms75.3 µs110.8 µs2.5 µs84.4 µs2678.6x slower
Ctr Encrypt (Large)opensslPyCryptodome16.0 µs77.6 µs62.4K12.9K15.6 µs45.8 µs1.2 µs16.4 µs75.3 µs110.8 µs2.5 µs84.4 µs4.8x faster
Ctr Encrypt (Medium)pure_pythonPyCryptodome3.36 ms10.4 µs297.995.8K3.30 ms3.74 ms35.7 µs3.40 ms9.9 µs32.8 µs1.2 µs10.8 µs321.7x slower
Ctr Encrypt (Medium)opensslPyCryptodome6.2 µs10.4 µs160.7K95.8K5.9 µs179.0 µs2.2 µs6.3 µs9.9 µs32.8 µs1.2 µs10.8 µs1.7x faster
Ctr Encrypt (Small)pure_pythonPyCryptodome66.8 µs9.1 µs15.0K109.5K64.7 µs103.9 µs2.6 µs73.2 µs8.7 µs32.0 µs964.8 ns9.4 µs7.3x slower
Ctr Encrypt (Small)opensslPyCryptodome5.7 µs9.1 µs174.1K109.5K5.5 µs30.9 µs756.3 ns5.8 µs8.7 µs32.0 µs964.8 ns9.4 µs1.6x faster
Ecb Decrypt (Large)pure_pythonPyCryptodome272.88 ms16.2 µs3.761.5K269.68 ms278.65 ms3.58 ms278.65 ms15.7 µs46.1 µs1.2 µs16.7 µs16795.0x slower
Ecb Decrypt (Large)opensslPyCryptodome14.5 µs16.2 µs68.9K61.5K14.1 µs60.8 µs1.2 µs14.8 µs15.7 µs46.1 µs1.2 µs16.7 µs1.1x faster
Ecb Decrypt (Medium)pure_pythonPyCryptodome4.49 ms7.5 µs222.7133.6K4.42 ms4.84 ms45.8 µs4.56 ms7.1 µs50.8 µs869.7 ns7.6 µs599.9x slower
Ecb Decrypt (Medium)opensslPyCryptodome5.5 µs7.5 µs180.6K133.6K5.3 µs45.3 µs873.4 ns5.6 µs7.1 µs50.8 µs869.7 ns7.6 µs1.4x faster
Ecb Decrypt (Small)pure_pythonPyCryptodome85.1 µs7.1 µs11.8K141.2K81.3 µs158.8 µs7.9 µs93.0 µs6.6 µs149.5 µs2.4 µs7.3 µs12.0x slower
Ecb Decrypt (Small)opensslPyCryptodome5.1 µs7.1 µs196.3K141.2K4.8 µs30.4 µs764.6 ns5.1 µs6.6 µs149.5 µs2.4 µs7.3 µs1.4x faster
Ecb Encrypt (Large)pure_pythonPyCryptodome203.43 ms16.2 µs4.961.8K202.94 ms203.91 ms352.3 µs203.91 ms15.1 µs233.8 µs2.6 µs21.4 µs12564.6x slower
Ecb Encrypt (Large)opensslPyCryptodome15.6 µs16.2 µs64.1K61.8K15.2 µs45.1 µs1.2 µs15.9 µs15.1 µs233.8 µs2.6 µs21.4 µs~equal
Ecb Encrypt (Medium)pure_pythonPyCryptodome3.37 ms7.0 µs296.5143.0K3.32 ms3.48 ms24.7 µs3.41 ms6.6 µs30.9 µs753.6 ns7.2 µs482.1x slower
Ecb Encrypt (Medium)opensslPyCryptodome5.6 µs7.0 µs179.6K143.0K5.3 µs33.6 µs769.6 ns5.7 µs6.6 µs30.9 µs753.6 ns7.2 µs1.3x faster
Ecb Encrypt (Small)pure_pythonPyCryptodome66.9 µs6.5 µs14.9K152.8K63.2 µs223.3 µs9.2 µs77.6 µs6.2 µs39.9 µs792.9 ns6.7 µs10.2x slower
Ecb Encrypt (Small)opensslPyCryptodome5.1 µs6.5 µs194.2K152.8K4.8 µs27.8 µs1.1 µs5.3 µs6.2 µs39.9 µs792.9 ns6.7 µs1.3x faster
Gcm Decrypt (Large)pure_pythonPyCryptodome299.82 ms124.6 µs3.38.0K293.01 ms310.26 ms8.39 ms310.26 ms120.5 µs231.0 µs7.0 µs132.5 µs2406.1x slower
Gcm Decrypt (Large)opensslPyCryptodome15.7 µs124.6 µs63.5K8.0K15.2 µs52.8 µs1.2 µs16.1 µs120.5 µs231.0 µs7.0 µs132.5 µs7.9x faster
Gcm Decrypt (Medium)pure_pythonPyCryptodome4.77 ms45.9 µs209.521.8K4.72 ms4.88 ms26.6 µs4.82 ms44.3 µs152.5 µs2.9 µs51.7 µs104.0x slower
Gcm Decrypt (Medium)opensslPyCryptodome7.5 µs45.9 µs132.6K21.8K7.2 µs78.0 µs984.0 ns7.7 µs44.3 µs152.5 µs2.9 µs51.7 µs6.1x faster
Gcm Decrypt (Small)pure_pythonPyCryptodome209.5 µs45.1 µs4.8K22.2K203.9 µs273.9 µs4.9 µs217.2 µs43.6 µs77.9 µs2.6 µs51.5 µs4.6x slower
Gcm Decrypt (Small)opensslPyCryptodome7.0 µs45.1 µs143.7K22.2K6.7 µs27.9 µs756.8 ns7.1 µs43.6 µs77.9 µs2.6 µs51.5 µs6.5x faster
Gcm Encrypt (Large)pure_pythonPyCryptodome294.87 ms113.8 µs3.48.8K292.42 ms297.19 ms1.91 ms297.19 ms110.7 µs279.5 µs4.8 µs121.0 µs2590.6x slower
Gcm Encrypt (Large)opensslPyCryptodome15.8 µs113.8 µs63.2K8.8K15.3 µs61.0 µs1.2 µs16.1 µs110.7 µs279.5 µs4.8 µs121.0 µs7.2x faster
Gcm Encrypt (Medium)pure_pythonPyCryptodome4.70 ms35.9 µs212.827.8K4.65 ms4.93 ms35.9 µs4.77 ms34.5 µs136.8 µs4.1 µs41.5 µs130.9x slower
Gcm Encrypt (Medium)opensslPyCryptodome7.7 µs35.9 µs130.5K27.8K7.3 µs28.8 µs729.4 ns7.8 µs34.5 µs136.8 µs4.1 µs41.5 µs4.7x faster
Gcm Encrypt (Small)pure_pythonPyCryptodome208.7 µs34.8 µs4.8K28.7K203.1 µs261.8 µs5.1 µs216.3 µs33.6 µs74.6 µs2.0 µs36.7 µs6.0x slower
Gcm Encrypt (Small)opensslPyCryptodome7.1 µs34.8 µs141.8K28.7K6.8 µs26.0 µs708.1 ns7.2 µs33.6 µs74.6 µs2.0 µs36.7 µs4.9x faster

cache

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Decorator Overheadzerodep_lrucachetools178.2 µs196.9 µs5.6K5.1K172.2 µs238.0 µs4.2 µs185.3 µs189.6 µs285.0 µs5.1 µs205.3 µs1.1x faster
Decorator Overheadzerodep_ttlcachetools232.8 µs224.0 µs4.3K4.5K225.3 µs351.7 µs5.9 µs240.6 µs216.5 µs289.3 µs5.0 µs231.9 µs~equal
Eviction Pressurezerodep_lfucachetools1.42 ms1.54 ms704.5648.31.30 ms2.11 ms34.6 µs1.43 ms1.51 ms1.81 ms18.8 µs1.56 ms1.1x faster
Eviction Pressurezerodep_lrucachetools1.25 ms1.41 ms799.6708.01.23 ms1.51 ms17.4 µs1.26 ms1.39 ms1.58 ms14.2 µs1.43 ms1.1x faster
Key Functionzerodep_hashkeycachetools507.2 µs515.6 µs2.0K1.9K494.6 µs581.9 µs6.6 µs515.0 µs502.4 µs829.9 µs16.1 µs523.1 µs~equal
Key Functionzerodep_typedkeycachetools977.6 µs1.24 ms1.0K804.4962.6 µs1.27 ms16.8 µs986.1 µs1.22 ms2.01 ms40.1 µs1.26 ms1.3x faster
LRUGet Setzerodepcachetools714.9 µs821.6 µs1.4K1.2K693.7 µs1.00 ms14.3 µs728.6 µs801.5 µs990.0 µs11.4 µs833.2 µs1.1x faster
Mixed Workloadzerodepcachetools595.6 µs665.2 µs1.7K1.5K582.9 µs696.9 µs8.1 µs604.0 µs649.0 µs821.4 µs9.9 µs676.5 µs1.1x faster
TTLExpiryzerodepcachetools3.02 ms3.01 ms331.2332.42.98 ms3.14 ms24.5 µs3.06 ms2.97 ms3.14 ms26.8 µs3.06 ms~equal
Threaded Contentionzerodepcachetools8.76 ms9.44 ms114.2106.08.58 ms9.01 ms92.1 µs8.91 ms9.27 ms9.76 ms84.3 µs9.57 ms1.1x faster

cdp

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Command Throughputsend_command_burst3.89 ms256.93.18 ms4.35 ms487.4 µs4.31 ms
Full Render Pipelineget_rendered_text739.8 µs1.4K550.2 µs2.05 ms121.0 µs931.1 µs
Full Render Pipelineget_rendered_text_fresh_client1.04 ms961.4867.5 µs1.31 ms140.5 µs1.23 ms
Js Eval Throughputevaluate_burst932.0 µs1.1K841.9 µs1.23 ms99.5 µs1.16 ms
Multi Targetmulti_target_pipeline3.76 ms265.82.88 ms5.26 ms517.1 µs4.95 ms
Render Htmlget_rendered_html689.4 µs1.5K573.6 µs1.04 ms57.4 µs817.3 µs

config

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Cast Boolzerodeppython-decouple973.8 ns1.9 µs1.03M512.8K891.0 ns28.5 µs239.1 ns1.0 µs1.8 µs36.5 µs428.8 ns2.0 µs2.0x faster
Cast Intzerodeppython-decouple929.3 ns1.8 µs1.08M558.1K841.0 ns45.0 µs329.3 ns942.0 ns1.7 µs51.0 µs433.5 ns1.8 µs1.9x faster
Csv Castzerodeppython-decouple2.0 µs9.6 µs488.6K103.7K1.9 µs44.9 µs445.9 ns2.1 µs9.2 µs58.5 µs1.1 µs9.9 µs4.7x faster
Dotenv Lookupzerodeppython-decouple539.3 ns1.3 µs1.85M761.3K509.2 ns2.6 µs44.7 ns546.3 ns1.2 µs18.0 µs264.1 ns1.3 µs2.4x faster
Env Lookupzerodeppython-decouple682.3 ns1.3 µs1.47M752.1K611.0 ns22.8 µs204.0 ns721.0 ns1.2 µs10.3 µs283.4 ns1.4 µs1.9x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Config Initzerodep_env_only442.6 ns2.26M417.6 ns3.2 µs41.4 ns448.7 ns
Config Initzerodep_with_dotenv850.7 µs1.2K794.5 µs6.45 ms261.2 µs874.3 µs
Config Initzerodep_with_json34.7 µs28.8K33.4 µs1.04 ms9.6 µs37.1 µs
Nested Json Lookupzerodep1.6 µs620.4K1.5 µs27.5 µs311.6 ns1.6 µs

diff

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Parse (Large)zerodepunidiff74.0 µs146.1 µs13.5K6.8K72.0 µs120.2 µs2.8 µs80.3 µs142.4 µs254.3 µs4.8 µs152.7 µs2.0x faster
Parse (Medium)zerodepunidiff24.1 µs47.8 µs41.6K20.9K22.7 µs74.9 µs1.5 µs24.5 µs46.2 µs104.0 µs2.1 µs53.1 µs2.0x faster
Parse (Small)zerodepunidiff8.0 µs16.3 µs124.8K61.5K7.7 µs45.9 µs755.0 ns8.1 µs15.4 µs74.5 µs1.2 µs16.6 µs2.0x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Apply (Large)zerodep46.5 µs21.5K44.8 µs85.7 µs2.2 µs51.0 µs
Apply (Medium)zerodep5.8 µs171.2K5.5 µs45.0 µs627.2 ns5.9 µs
Apply (Small)zerodep2.0 µs498.0K1.9 µs33.9 µs394.2 ns2.1 µs

dotenv

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Parse (Large)zerodeppython-dotenv1.04 ms1.04 ms963.5961.71.02 ms1.16 ms11.8 µs1.05 ms1.03 ms1.19 ms11.8 µs1.05 ms~equal
Parse (Medium)zerodeppython-dotenv148.0 µs147.1 µs6.8K6.8K142.8 µs280.8 µs7.7 µs154.9 µs143.7 µs225.5 µs4.5 µs153.9 µs~equal
Parse (Small)zerodeppython-dotenv21.2 µs21.2 µs47.2K47.1K20.4 µs47.0 µs1.7 µs21.8 µs20.4 µs67.6 µs1.5 µs21.6 µs~equal

frontmatter

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Parse (Large)zerodeppython-frontmatter354.7 µs353.9 µs2.8K2.8K347.1 µs420.5 µs5.9 µs361.9 µs345.9 µs416.5 µs5.8 µs361.1 µs~equal
Parse (Medium)zerodeppython-frontmatter69.0 µs68.2 µs14.5K14.7K65.9 µs153.9 µs5.6 µs75.0 µs65.7 µs128.5 µs2.7 µs74.3 µs~equal
Parse (Small)zerodeppython-frontmatter10.7 µs10.8 µs93.8K92.9K10.2 µs39.5 µs923.2 ns10.8 µs10.3 µs62.8 µs932.2 ns10.9 µs~equal
Serialize (Large)zerodeppython-frontmatter542.0 µs556.3 µs1.8K1.8K528.7 µs678.3 µs9.3 µs552.1 µs531.9 µs1.11 ms51.9 µs594.8 µs~equal
Serialize (Medium)zerodeppython-frontmatter111.1 µs111.0 µs9.0K9.0K107.6 µs196.1 µs3.9 µs118.1 µs107.7 µs169.9 µs3.3 µs117.8 µs~equal
Serialize (Small)zerodeppython-frontmatter17.0 µs18.0 µs58.8K55.4K16.3 µs70.1 µs1.3 µs17.9 µs17.3 µs61.7 µs1.3 µs18.5 µs1.1x faster

httpclient

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Async Client Getzerodephttpx844.4 µs20.68 ms1.2K48.4750.5 µs10.71 ms342.1 µs942.7 µs19.24 ms27.75 ms2.26 ms26.01 ms24.5x faster
Async File Uploadzerodephttpx1.19 ms20.85 ms843.848.0999.3 µs3.60 ms243.1 µs1.28 ms19.72 ms25.82 ms1.69 ms25.73 ms17.6x faster
Async Getzerodephttpx793.5 µs20.52 ms1.3K48.7716.4 µs1.01 ms39.6 µs885.4 µs19.17 ms26.62 ms1.83 ms25.12 ms25.9x faster
Async Post JSONzerodephttpx881.5 µs21.05 ms1.1K47.5776.1 µs1.16 ms41.5 µs975.2 µs19.33 ms29.89 ms2.64 ms27.03 ms23.9x faster
Async Streamingzerodephttpx842.1 µs20.27 ms1.2K49.3746.8 µs1.01 ms39.0 µs924.7 µs19.19 ms26.71 ms1.95 ms25.75 ms24.1x faster
Concurrent Async Getzerodep[N=10]httpx7.04 ms66.05 ms142.015.16.06 ms85.17 ms6.69 ms6.80 ms63.91 ms73.72 ms2.95 ms73.72 ms9.4x faster
Concurrent Async Getzerodep[N=50]httpx30.96 ms270.36 ms32.33.728.01 ms100.83 ms12.17 ms30.10 ms254.35 ms328.68 ms32.62 ms328.68 ms8.7x faster
Concurrent Async Postzerodephttpx6.83 ms66.94 ms146.314.96.55 ms8.63 ms186.6 µs7.00 ms64.92 ms68.68 ms1.16 ms68.68 ms9.8x faster
Connection Pool Reusezerodephttpx47.33 ms89.07 ms21.111.245.91 ms49.55 ms1.07 ms48.97 ms86.83 ms91.57 ms1.68 ms91.57 ms1.9x faster
Sync Client Getzerodephttpx467.1 µs743.7 µs2.1K1.3K416.9 µs604.0 µs27.8 µs519.8 µs661.9 µs4.68 ms142.6 µs861.5 µs1.6x faster
Sync File Uploadzerodephttpx733.2 µs14.74 ms1.4K67.8630.7 µs5.91 ms169.8 µs789.6 µs13.59 ms26.84 ms2.76 ms22.53 ms20.1x faster
Sync Getzerodephttpx464.1 µs13.90 ms2.2K71.9407.2 µs599.7 µs26.9 µs511.9 µs13.05 ms24.59 ms2.22 ms15.39 ms29.9x faster
Sync Gzip Decompressionzerodephttpx481.8 µs14.02 ms2.1K71.3426.8 µs622.2 µs37.1 µs554.6 µs13.16 ms24.20 ms2.50 ms22.59 ms29.1x faster
Sync Post JSONzerodephttpx515.8 µs14.14 ms1.9K70.7436.3 µs670.3 µs33.2 µs578.1 µs13.21 ms23.64 ms2.52 ms22.61 ms27.4x faster
Sync Streamingzerodephttpx467.7 µs13.90 ms2.1K71.9420.7 µs602.4 µs27.3 µs521.8 µs13.08 ms23.99 ms2.45 ms22.01 ms29.7x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Async Socks5Getzerodep1.41 ms710.61.28 ms1.81 ms54.0 µs1.50 ms
Sync Socks5Getzerodep959.5 µs1.0K809.6 µs1.63 ms56.2 µs1.04 ms
Sync Socks5Post JSONzerodep41.99 ms23.841.84 ms42.23 ms108.1 µs42.21 ms
Sync Socks5Streamingzerodep951.5 µs1.1K783.8 µs1.72 ms70.2 µs1.06 ms

httpserver

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Concurrent Getzerodepflask4.81 ms6.69 ms208.1149.54.38 ms6.12 ms532.5 µs6.00 ms6.02 ms7.38 ms464.8 µs7.26 ms1.4x faster
Concurrent Getzerodepmicrodot4.81 ms6.13 ms208.1163.04.38 ms6.12 ms532.5 µs6.00 ms5.13 ms8.67 ms1.25 ms8.29 ms1.3x faster
Concurrent Getzerodepbottle4.81 ms1.024 s208.11.04.38 ms6.12 ms532.5 µs6.00 ms1.023 s1.024 s369.7 µs1.024 s213.0x faster
Concurrent Postzerodepflask5.31 ms7.38 ms188.2135.64.88 ms6.47 ms510.6 µs6.38 ms6.69 ms10.92 ms726.8 µs8.52 ms1.4x faster
Concurrent Postzerodepmicrodot5.31 ms5.68 ms188.2176.04.88 ms6.47 ms510.6 µs6.38 ms5.39 ms8.19 ms437.9 µs6.05 ms1.1x faster
Concurrent Postzerodepbottle5.31 ms1.024 s188.21.04.88 ms6.47 ms510.6 µs6.38 ms1.024 s1.024 s71.9 µs1.024 s192.7x faster
Get JSONzerodepflask413.8 µs523.9 µs2.4K1.9K342.7 µs625.0 µs46.0 µs528.1 µs469.5 µs977.5 µs36.2 µs575.4 µs1.3x faster
Get JSONzerodepmicrodot413.8 µs473.7 µs2.4K2.1K342.7 µs625.0 µs46.0 µs528.1 µs369.9 µs925.5 µs61.6 µs621.3 µs1.1x faster
Get JSONzerodepbottle413.8 µs463.0 µs2.4K2.2K342.7 µs625.0 µs46.0 µs528.1 µs356.2 µs1.33 ms86.3 µs566.1 µs1.1x faster
Get Textzerodepflask432.2 µs519.8 µs2.3K1.9K349.0 µs708.2 µs59.7 µs526.5 µs447.2 µs1.33 ms62.4 µs601.9 µs1.2x faster
Get Textzerodepmicrodot432.2 µs459.7 µs2.3K2.2K349.0 µs708.2 µs59.7 µs526.5 µs363.2 µs819.9 µs53.0 µs603.2 µs1.1x faster
Get Textzerodepbottle432.2 µs487.2 µs2.3K2.1K349.0 µs708.2 µs59.7 µs526.5 µs347.6 µs928.5 µs52.8 µs540.5 µs1.1x faster
Large Payloadzerodepflask682.3 µs884.4 µs1.5K1.1K598.9 µs1.00 ms75.5 µs875.5 µs757.0 µs1.60 ms81.0 µs1.00 ms1.3x faster
Large Payloadzerodepmicrodot682.3 µs749.9 µs1.5K1.3K598.9 µs1.00 ms75.5 µs875.5 µs584.2 µs1.17 ms93.2 µs908.5 µs1.1x faster
Large Payloadzerodepbottle682.3 µs705.0 µs1.5K1.4K598.9 µs1.00 ms75.5 µs875.5 µs599.4 µs993.6 µs57.9 µs820.3 µs~equal
Post JSONzerodepflask578.3 µs636.8 µs1.7K1.6K391.6 µs772.6 µs94.9 µs722.3 µs535.1 µs1.65 ms126.4 µs888.9 µs1.1x faster
Post JSONzerodepmicrodot578.3 µs536.5 µs1.7K1.9K391.6 µs772.6 µs94.9 µs722.3 µs423.4 µs847.6 µs82.6 µs697.4 µs1.1x slower
Post JSONzerodepbottle578.3 µs531.9 µs1.7K1.9K391.6 µs772.6 µs94.9 µs722.3 µs395.2 µs1.34 ms83.3 µs622.1 µs1.1x slower

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Sync Vs Async Handlerasync_handler398.9 µs2.5K347.6 µs557.3 µs17.0 µs428.6 µs
Sync Vs Async Handlersync_handler533.2 µs1.9K418.8 µs1.25 ms66.5 µs614.8 µs

jsonrpc

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Dispatch Batchzerodepjsonrpcserver107.0 µs1.44 ms9.3K693.5104.3 µs184.1 µs3.9 µs113.4 µs1.40 ms1.69 ms29.0 µs1.50 ms13.5x faster
Dispatch Errorzerodepjsonrpcserver7.0 µs70.0 µs143.1K14.3K6.7 µs27.0 µs765.1 ns7.1 µs65.8 µs139.1 µs5.7 µs79.5 µs10.0x faster
Dispatch Not Foundzerodepjsonrpcserver5.8 µs55.4 µs172.1K18.0K5.5 µs131.0 µs960.0 ns5.9 µs53.2 µs122.5 µs3.5 µs63.6 µs9.5x faster
Dispatch Successzerodepjsonrpcserver5.5 µs74.9 µs181.6K13.3K5.3 µs20.9 µs623.0 ns5.6 µs70.6 µs157.3 µs5.4 µs85.1 µs13.6x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Deserialize From Dictrequest_from_dict568.2 ns1.76M538.8 ns3.5 µs48.8 ns573.9 ns
Deserialize From Dictresponse_from_dict717.0 ns1.39M651.0 ns14.5 µs199.8 ns742.0 ns
Id Generationnext_id88.0 ns11.37M78.9 ns603.6 ns8.2 ns89.2 ns
Json Round Tripjson_round_trip4.9 µs205.7K4.6 µs19.0 µs580.5 ns4.9 µs
Serialize To Dictrequest_to_dict298.1 ns3.35M279.8 ns6.7 µs42.5 ns304.0 ns
Serialize To Dictresponse_to_dict248.0 ns4.03M228.8 ns11.3 µs91.7 ns248.9 ns

jsonschema

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Perf (Large)zerodepallof-merge (JS)182.2 µs563.8 µs5.5K1.8K175.5 µs333.7 µs7.9 µs190.4 µs467.6 µs1.81 ms102.0 µs723.8 µs3.1x faster
Perf (Medium)zerodepallof-merge (JS)59.9 µs256.2 µs16.7K3.9K57.0 µs149.7 µs5.1 µs65.8 µs191.3 µs2.73 ms141.8 µs393.1 µs4.3x faster
Perf (Small)zerodepallof-merge (JS)22.7 µs122.6 µs44.0K8.2K21.6 µs108.5 µs1.7 µs23.6 µs84.5 µs488.4 µs41.2 µs198.8 µs5.4x faster
Perf Tinyzerodepallof-merge (JS)13.2 µs113.7 µs75.8K8.8K12.7 µs31.9 µs942.6 ns13.4 µs63.2 µs553.4 µs46.0 µs192.9 µs8.6x faster
Perf Xlargezerodepallof-merge (JS)1.24 ms2.37 ms808.2422.71.21 ms1.34 ms14.4 µs1.26 ms2.19 ms3.90 ms224.4 µs2.68 ms1.9x faster

jsonx

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Fixture Load Eslint Configzerodepcommentjson589.1 µs39.76 ms1.7K25.1571.9 µs1.04 ms25.2 µs600.6 µs36.15 ms121.76 ms16.39 ms36.92 ms67.5x faster
Fixture Load Tsconfigzerodepcommentjson189.2 µs12.32 ms5.3K81.1183.8 µs270.5 µs5.3 µs196.3 µs10.98 ms92.16 ms9.10 ms11.69 ms65.2x faster
Fixture Load Vscode Settingszerodepcommentjson405.4 µs21.96 ms2.5K45.5396.6 µs534.3 µs7.7 µs413.8 µs19.92 ms99.84 ms11.48 ms20.84 ms54.2x faster
Jsonl (Large)zerodepjsonlines1.49 ms3.42 ms669.3292.01.05 ms84.30 ms5.60 ms1.41 ms2.63 ms82.87 ms7.51 ms2.77 ms2.3x faster
Jsonl (Large)zerodepndjson1.49 ms1.29 ms669.3773.31.05 ms84.30 ms5.60 ms1.41 ms1.01 ms80.33 ms4.47 ms1.06 ms1.2x slower
Jsonl (Medium)zerodepjsonlines68.4 µs224.6 µs14.6K4.5K66.5 µs227.7 µs4.0 µs75.0 µs218.7 µs394.0 µs7.1 µs232.2 µs3.3x faster
Jsonl (Medium)zerodepndjson68.4 µs69.5 µs14.6K14.4K66.5 µs227.7 µs4.0 µs75.0 µs67.3 µs174.0 µs3.5 µs76.0 µs~equal
Jsonl (Small)zerodepjsonlines6.2 µs24.6 µs160.9K40.6K6.0 µs50.2 µs673.5 ns6.3 µs23.9 µs60.7 µs1.6 µs25.2 µs4.0x faster
Jsonl (Small)zerodepndjson6.2 µs7.9 µs160.9K125.8K6.0 µs50.2 µs673.5 ns6.3 µs7.6 µs29.5 µs731.8 ns8.1 µs1.3x faster
Load (Large)zerodepcommentjson1.36 ms164.61 ms734.86.11.34 ms1.52 ms15.4 µs1.38 ms129.71 ms223.59 ms44.75 ms223.59 ms121.0x faster
Load (Medium)zerodepcommentjson70.5 µs6.08 ms14.2K164.568.6 µs297.2 µs3.6 µs77.0 µs5.99 ms6.62 ms65.7 µs6.19 ms86.2x faster
Load (Small)zerodepcommentjson11.7 µs900.0 µs85.3K1.1K11.3 µs71.7 µs1.1 µs11.8 µs737.6 µs77.91 ms2.66 ms899.7 µs76.8x faster

llmstxt

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Candidate Urlszerodep9.8 µs102.5K9.3 µs62.3 µs923.8 ns9.9 µs
Parse (Large)zerodep978.4 µs1.0K945.0 µs1.14 ms27.7 µs1.06 ms
Parse (Medium)zerodep38.1 µs26.2K37.2 µs139.1 µs1.8 µs39.2 µs
Parse (Small)zerodep9.2 µs108.4K8.9 µs76.5 µs948.7 ns9.3 µs

markdown

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Render (Large)zerodepmistune4.15 ms6.55 ms240.8152.74.10 ms4.36 ms39.1 µs4.23 ms6.45 ms6.76 ms56.6 µs6.62 ms1.6x faster
Render (Medium)zerodepmistune259.1 µs490.5 µs3.9K2.0K252.8 µs342.0 µs6.4 µs267.4 µs467.8 µs583.0 µs14.5 µs507.2 µs1.9x faster
Render (Small)zerodepmistune37.9 µs43.9 µs26.4K22.8K36.6 µs77.9 µs2.2 µs40.0 µs41.6 µs79.2 µs3.7 µs50.6 µs1.2x faster
Render GFMLargezerodepmistune4.63 ms8.33 ms216.0120.04.58 ms4.76 ms27.7 µs4.69 ms8.20 ms9.46 ms126.5 µs8.45 ms1.8x faster
Render GFMMediumzerodepmistune233.8 µs477.0 µs4.3K2.1K224.8 µs305.3 µs5.9 µs241.7 µs456.4 µs620.2 µs13.2 µs493.2 µs2.0x faster

multipart

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Fixture Parse Form With Filezerodeppython_multipart42.6 µs81.2 µs23.5K12.3K41.2 µs133.6 µs2.2 µs45.3 µs78.9 µs162.2 µs3.2 µs87.4 µs1.9x faster
Fixture Parse Large Binaryzerodeppython_multipart72.8 µs93.0 µs13.7K10.8K71.1 µs140.5 µs2.8 µs79.2 µs89.4 µs155.3 µs3.4 µs99.4 µs1.3x faster
Fixture Parse Mixed Charsetszerodeppython_multipart29.9 µs59.8 µs33.5K16.7K28.9 µs81.0 µs2.0 µs31.3 µs57.8 µs116.0 µs3.1 µs65.6 µs2.0x faster
Parse (Large)zerodeppython_multipart432.6 µs256.6 µs2.3K3.9K423.0 µs556.3 µs9.9 µs450.0 µs247.9 µs319.8 µs7.3 µs271.7 µs1.7x slower
Parse (Medium)zerodeppython_multipart47.6 µs78.1 µs21.0K12.8K46.3 µs134.0 µs2.2 µs51.2 µs75.5 µs158.7 µs3.5 µs84.2 µs1.6x faster
Parse (Small)zerodeppython_multipart16.2 µs34.1 µs61.7K29.3K15.6 µs35.3 µs1.1 µs16.6 µs32.9 µs74.5 µs2.0 µs35.4 µs2.1x faster
Scale Curveparse_zerodep[100B]parse_python_multipart[100B]9.2 µs21.8 µs109.2K45.9K8.7 µs57.2 µs1.0 µs9.4 µs21.0 µs70.1 µs1.6 µs22.6 µs2.4x faster
Scale Curveparse_zerodep[500B]parse_python_multipart[500B]9.6 µs22.1 µs103.7K45.3K9.2 µs49.1 µs949.2 ns9.8 µs21.4 µs68.2 µs1.5 µs22.8 µs2.3x faster
Scale Curveparse_zerodep[1KB]parse_python_multipart[1KB]17.4 µs35.3 µs57.6K28.4K16.8 µs75.6 µs1.4 µs17.9 µs33.8 µs86.8 µs1.9 µs37.0 µs2.0x faster
Scale Curveparse_zerodep[5KB]parse_python_multipart[5KB]43.6 µs74.0 µs22.9K13.5K42.4 µs126.8 µs2.3 µs46.5 µs71.3 µs124.5 µs3.1 µs80.0 µs1.7x faster
Scale Curveparse_zerodep[10KB]parse_python_multipart[10KB]49.4 µs75.8 µs20.2K13.2K48.2 µs119.0 µs2.3 µs55.4 µs73.6 µs124.5 µs2.9 µs81.9 µs1.5x faster
Scale Curveparse_zerodep[50KB]parse_python_multipart[50KB]130.5 µs152.4 µs7.7K6.6K127.1 µs220.9 µs5.9 µs137.5 µs147.3 µs208.3 µs4.6 µs159.5 µs1.2x faster
Scale Curveparse_zerodep[100KB]parse_python_multipart[100KB]189.4 µs164.3 µs5.3K6.1K185.7 µs255.2 µs4.3 µs196.7 µs159.1 µs878.8 µs12.9 µs172.2 µs1.2x slower
Scale Curveparse_zerodep[500KB]parse_python_multipart[500KB]720.6 µs401.4 µs1.4K2.5K707.5 µs2.40 ms48.0 µs731.5 µs390.4 µs527.1 µs8.7 µs412.8 µs1.8x slower
Scale Curveencode_zerodep[100B]parse_python_multipart[100B]1.9 µs21.8 µs538.7K45.9K1.8 µs40.9 µs367.3 ns1.9 µs21.0 µs70.1 µs1.6 µs22.6 µs11.7x faster
Scale Curveencode_zerodep[500B]parse_python_multipart[500B]2.0 µs22.1 µs511.7K45.3K1.8 µs40.9 µs421.0 ns2.0 µs21.4 µs68.2 µs1.5 µs22.8 µs11.3x faster
Scale Curveencode_zerodep[1KB]parse_python_multipart[1KB]2.6 µs35.3 µs383.2K28.4K2.5 µs47.8 µs459.3 ns2.7 µs33.8 µs86.8 µs1.9 µs37.0 µs13.5x faster
Scale Curveencode_zerodep[5KB]parse_python_multipart[5KB]4.4 µs74.0 µs226.6K13.5K4.2 µs52.5 µs658.5 ns4.5 µs71.3 µs124.5 µs3.1 µs80.0 µs16.8x faster
Scale Curveencode_zerodep[10KB]parse_python_multipart[10KB]4.7 µs75.8 µs215.0K13.2K4.4 µs62.9 µs666.0 ns4.7 µs73.6 µs124.5 µs2.9 µs81.9 µs16.3x faster
Scale Curveencode_zerodep[50KB]parse_python_multipart[50KB]9.2 µs152.4 µs108.2K6.6K8.7 µs72.6 µs1.1 µs9.5 µs147.3 µs208.3 µs4.6 µs159.5 µs16.5x faster
Scale Curveencode_zerodep[100KB]parse_python_multipart[100KB]11.7 µs164.3 µs85.6K6.1K11.0 µs59.8 µs1.3 µs14.2 µs159.1 µs878.8 µs12.9 µs172.2 µs14.1x faster
Scale Curveencode_zerodep[500KB]parse_python_multipart[500KB]39.6 µs401.4 µs25.3K2.5K38.2 µs63.6 µs2.2 µs46.4 µs390.4 µs527.1 µs8.7 µs412.8 µs10.1x faster
Scale Curveroundtrip_zerodep[100B]parse_python_multipart[100B]10.8 µs21.8 µs93.0K45.9K10.3 µs48.1 µs995.3 ns10.9 µs21.0 µs70.1 µs1.6 µs22.6 µs2.0x faster
Scale Curveroundtrip_zerodep[500B]parse_python_multipart[500B]11.6 µs22.1 µs86.2K45.3K11.1 µs110.2 µs1.3 µs11.9 µs21.4 µs68.2 µs1.5 µs22.8 µs1.9x faster
Scale Curveroundtrip_zerodep[1KB]parse_python_multipart[1KB]20.1 µs35.3 µs49.8K28.4K19.3 µs66.8 µs1.7 µs20.8 µs33.8 µs86.8 µs1.9 µs37.0 µs1.8x faster
Scale Curveroundtrip_zerodep[5KB]parse_python_multipart[5KB]47.4 µs74.0 µs21.1K13.5K45.7 µs2.66 ms24.0 µs53.1 µs71.3 µs124.5 µs3.1 µs80.0 µs1.6x faster
Scale Curveroundtrip_zerodep[10KB]parse_python_multipart[10KB]54.2 µs75.8 µs18.4K13.2K51.5 µs253.4 µs7.8 µs61.6 µs73.6 µs124.5 µs2.9 µs81.9 µs1.4x faster
Scale Curveroundtrip_zerodep[50KB]parse_python_multipart[50KB]140.1 µs152.4 µs7.1K6.6K136.7 µs219.4 µs4.4 µs147.1 µs147.3 µs208.3 µs4.6 µs159.5 µs1.1x faster
Scale Curveroundtrip_zerodep[100KB]parse_python_multipart[100KB]199.7 µs164.3 µs5.0K6.1K194.5 µs325.7 µs7.4 µs207.5 µs159.1 µs878.8 µs12.9 µs172.2 µs1.2x slower
Scale Curveroundtrip_zerodep[500KB]parse_python_multipart[500KB]763.2 µs401.4 µs1.3K2.5K748.7 µs890.8 µs9.3 µs776.5 µs390.4 µs527.1 µs8.7 µs412.8 µs1.9x slower

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Encode (Large)zerodep30.0 µs33.4K28.3 µs95.6 µs3.2 µs37.2 µs
Encode (Medium)zerodep6.2 µs162.6K5.6 µs38.2 µs741.2 ns6.4 µs
Encode (Small)zerodep3.2 µs310.3K3.0 µs36.0 µs464.0 ns3.3 µs
Round Tripsmall19.0 µs52.6K17.9 µs144.5 µs2.3 µs19.6 µs
Round Tripmedium57.0 µs17.5K55.1 µs129.8 µs3.5 µs63.4 µs

persistdict

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Iterate (Small)zerodep_jsonshelve426.6 µs285.8 µs2.3K3.5K284.0 µs31.76 ms1.42 ms379.6 µs255.8 µs1.11 ms48.4 µs317.3 µs1.5x slower
Iterate (Small)zerodep_jsonsqlitedict426.6 µs989.6 µs2.3K1.0K284.0 µs31.76 ms1.42 ms379.6 µs921.1 µs1.83 ms69.3 µs1.03 ms2.3x faster
Iterate (Small)zerodep_sqliteshelve718.5 µs285.8 µs1.4K3.5K687.6 µs893.4 µs15.5 µs743.2 µs255.8 µs1.11 ms48.4 µs317.3 µs2.5x slower
Iterate (Small)zerodep_sqlitesqlitedict718.5 µs989.6 µs1.4K1.0K687.6 µs893.4 µs15.5 µs743.2 µs921.1 µs1.83 ms69.3 µs1.03 ms1.4x faster
Read (Small)zerodep_jsonshelve518.7 µs265.1 µs1.9K3.8K282.2 µs29.83 ms1.89 ms405.8 µs239.5 µs1.05 ms36.3 µs288.6 µs2.0x slower
Read (Small)zerodep_jsonsqlitedict518.7 µs7.05 ms1.9K141.9282.2 µs29.83 ms1.89 ms405.8 µs6.78 ms8.12 ms207.2 µs7.45 ms13.6x faster
Read (Small)zerodep_sqliteshelve698.8 µs265.1 µs1.4K3.8K665.4 µs1.32 ms53.1 µs757.3 µs239.5 µs1.05 ms36.3 µs288.6 µs2.6x slower
Read (Small)zerodep_sqlitesqlitedict698.8 µs7.05 ms1.4K141.9665.4 µs1.32 ms53.1 µs757.3 µs6.78 ms8.12 ms207.2 µs7.45 ms10.1x faster
Write (Large)zerodep_jsonshelve10.72 ms9.39 ms93.3106.510.55 ms11.34 ms105.6 µs10.87 ms8.84 ms15.75 ms1.33 ms12.66 ms1.1x slower
Write (Large)zerodep_jsonsqlitedict10.72 ms564.07 ms93.31.810.55 ms11.34 ms105.6 µs10.87 ms524.58 ms597.42 ms28.29 ms597.42 ms52.6x faster
Write (Large)zerodep_sqliteshelve113.75 ms9.39 ms8.8106.589.96 ms151.84 ms22.27 ms151.84 ms8.84 ms15.75 ms1.33 ms12.66 ms12.1x slower
Write (Large)zerodep_sqlitesqlitedict113.75 ms564.07 ms8.81.889.96 ms151.84 ms22.27 ms151.84 ms524.58 ms597.42 ms28.29 ms597.42 ms5.0x faster
Write (Large)zerodep_sqlite_batchedshelve24.25 ms9.39 ms41.2106.515.86 ms241.64 ms29.47 ms36.99 ms8.84 ms15.75 ms1.33 ms12.66 ms2.6x slower
Write (Large)zerodep_sqlite_batchedsqlitedict24.25 ms564.07 ms41.21.815.86 ms241.64 ms29.47 ms36.99 ms524.58 ms597.42 ms28.29 ms597.42 ms23.3x faster
Write (Small)zerodep_jsonshelve303.2 µs480.4 µs3.3K2.1K283.2 µs1.80 ms44.6 µs346.3 µs447.8 µs522.7 µs27.0 µs522.7 µs1.6x faster
Write (Small)zerodep_jsonsqlitedict303.2 µs14.08 ms3.3K71.0283.2 µs1.80 ms44.6 µs346.3 µs13.57 ms17.18 ms884.3 µs16.65 ms46.4x faster
Write (Small)zerodep_sqliteshelve21.28 ms480.4 µs47.02.1K3.90 ms138.40 ms39.73 ms138.40 ms447.8 µs522.7 µs27.0 µs522.7 µs44.3x slower
Write (Small)zerodep_sqlitesqlitedict21.28 ms14.08 ms47.071.03.90 ms138.40 ms39.73 ms138.40 ms13.57 ms17.18 ms884.3 µs16.65 ms1.5x slower
Write (Small)zerodep_sqlite_batchedshelve7.10 ms480.4 µs140.92.1K2.54 ms233.25 ms23.01 ms11.72 ms447.8 µs522.7 µs27.0 µs522.7 µs14.8x slower
Write (Small)zerodep_sqlite_batchedsqlitedict7.10 ms14.08 ms140.971.02.54 ms233.25 ms23.01 ms11.72 ms13.57 ms17.18 ms884.3 µs16.65 ms2.0x faster

png

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Decode Bmp Medium RGBzerodeppillow463.1 µs69.4 µs2.2K14.4K451.3 µs888.2 µs14.5 µs471.3 µs66.8 µs133.0 µs3.2 µs76.5 µs6.7x slower
Decode Large RGBAzerodeppillow398.14 ms18.31 ms2.554.6397.48 ms398.77 ms521.7 µs398.77 ms18.06 ms21.04 ms603.5 µs19.97 ms21.7x slower
Decode Medium Grayzerodeppillow4.88 ms223.2 µs205.14.5K4.78 ms5.02 ms39.4 µs4.94 ms218.1 µs305.4 µs5.2 µs230.9 µs21.8x slower
Decode Medium RGBzerodeppillow18.89 ms784.5 µs52.91.3K18.73 ms19.05 ms62.2 µs19.01 ms765.1 µs905.6 µs11.6 µs802.1 µs24.1x slower
Decode Medium RGBAzerodeppillow22.09 ms972.6 µs45.31.0K21.84 ms22.32 ms111.3 µs22.25 ms951.9 µs1.06 ms9.5 µs989.9 µs22.7x slower
Decode Small RGBAzerodeppillow1.26 ms38.2 µs791.226.2K1.23 ms1.34 ms16.1 µs1.29 ms36.8 µs86.9 µs2.5 µs42.2 µs33.1x slower
Encode Bmp Medium RGBzerodeppillow429.6 µs62.2 µs2.3K16.1K420.0 µs643.1 µs9.4 µs437.6 µs59.3 µs176.5 µs4.4 µs69.4 µs6.9x slower
Encode Large RGBAzerodeppillow3.096 s149.05 ms0.36.73.088 s3.100 s5.19 ms3.100 s148.89 ms149.53 ms219.8 µs149.53 ms20.8x slower
Encode Medium RGBAzerodeppillow191.73 ms9.13 ms5.2109.5191.13 ms192.12 ms365.9 µs192.12 ms9.09 ms9.31 ms36.5 µs9.18 ms21.0x slower
Encode Small RGBAzerodeppillow11.29 ms230.2 µs88.64.3K11.17 ms13.51 ms246.3 µs11.37 ms185.8 µs488.9 µs38.7 µs298.2 µs49.0x slower
Matrix Round Tripzerodep_encodepillow_encode69.16 ms2.13 ms14.5470.468.77 ms69.62 ms254.3 µs69.62 ms2.11 ms2.22 ms10.5 µs2.14 ms32.5x slower
Matrix Round Tripzerodep_encodepillow_decode69.16 ms184.0 µs14.55.4K68.77 ms69.62 ms254.3 µs69.62 ms178.3 µs280.7 µs6.1 µs193.8 µs375.8x slower
Matrix Round Tripzerodep_decodepillow_encode13.46 ms2.13 ms74.3470.413.21 ms13.89 ms125.3 µs13.65 ms2.11 ms2.22 ms10.5 µs2.14 ms6.3x slower
Matrix Round Tripzerodep_decodepillow_decode13.46 ms184.0 µs74.35.4K13.21 ms13.89 ms125.3 µs13.65 ms178.3 µs280.7 µs6.1 µs193.8 µs73.2x slower

protobuf

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Decode Comparisonzerodep_largegoogle (protobuf)250.7 µs3.4 µs4.0K293.9K244.5 µs317.6 µs5.8 µs258.6 µs3.3 µs68.1 µs825.1 ns3.4 µs73.7x slower
Decode Comparisonzerodep_mediumgoogle (protobuf)36.5 µs1.0 µs27.4K988.4K34.9 µs81.7 µs1.9 µs38.5 µs951.0 ns69.8 µs487.5 ns1.0 µs36.1x slower
Decode Comparisonzerodep_smallgoogle (protobuf)3.6 µs527.3 ns274.3K1.90M3.4 µs27.5 µs485.3 ns3.7 µs480.0 ns202.0 µs606.0 ns541.0 ns6.9x slower
Encode Comparisonzerodep_largegoogle (protobuf)96.4 µs1.8 µs10.4K552.0K92.8 µs299.5 µs8.2 µs102.9 µs1.7 µs42.9 µs356.8 ns1.8 µs53.2x slower
Encode Comparisonzerodep_mediumgoogle (protobuf)15.6 µs252.9 ns64.1K3.95M14.9 µs69.0 µs1.2 µs15.9 µs241.3 ns7.2 µs86.4 ns250.4 ns61.7x slower
Encode Comparisonzerodep_smallgoogle (protobuf)1.6 µs140.1 ns644.8K7.14M1.4 µs34.0 µs390.0 ns1.6 µs136.9 ns1.6 µs17.2 ns141.1 ns11.1x slower
Roundtrip Comparisonzerodep_largegoogle (protobuf)344.6 µs5.3 µs2.9K190.0K333.9 µs5.58 ms109.6 µs350.7 µs5.0 µs72.0 µs1.1 µs5.3 µs65.5x slower
Roundtrip Comparisonzerodep_mediumgoogle (protobuf)52.6 µs1.4 µs19.0K699.8K50.7 µs96.8 µs2.2 µs58.1 µs1.3 µs161.8 µs1.5 µs1.4 µs36.8x slower
Roundtrip Comparisonzerodep_smallgoogle (protobuf)5.3 µs762.1 ns186.9K1.31M5.0 µs57.6 µs755.2 ns5.4 µs701.0 ns90.7 µs544.4 ns772.0 ns7.0x slower
Scale Curvedecode_zerodep[100items]google (protobuf)33.3 µs892.4 ns30.0K1.12M31.6 µs187.3 µs2.1 µs34.7 µs852.8 ns22.3 µs215.7 ns891.3 ns37.3x slower
Scale Curvedecode_zerodep[10items]google (protobuf)8.1 µs611.7 ns123.1K1.63M7.7 µs41.4 µs774.0 ns8.3 µs560.0 ns139.6 µs480.5 ns631.0 ns13.3x slower
Scale Curvedecode_zerodep[10Kitems]google (protobuf)4.37 ms54.2 µs228.718.5K4.28 ms4.73 ms51.1 µs4.43 ms53.2 µs170.2 µs3.8 µs60.2 µs80.7x slower
Scale Curvedecode_zerodep[1Kitems]google (protobuf)419.0 µs5.9 µs2.4K169.4K403.3 µs496.6 µs7.1 µs427.0 µs5.7 µs100.1 µs1.1 µs5.9 µs71.0x slower
Scale Curvedecode_zerodep[500items]google (protobuf)202.9 µs3.3 µs4.9K305.5K195.2 µs328.9 µs8.9 µs212.2 µs3.1 µs155.0 µs1.3 µs3.2 µs62.0x slower
Scale Curvedecode_zerodep[50items]google (protobuf)19.0 µs689.0 ns52.7K1.45M17.9 µs56.8 µs1.3 µs19.5 µs648.0 ns5.4 µs79.5 ns699.1 ns27.5x slower
Scale Curvedecode_zerodep[50Kitems]google (protobuf)27.35 ms279.1 µs36.63.6K27.14 ms27.61 ms109.8 µs27.55 ms267.4 µs493.1 µs13.6 µs290.6 µs98.0x slower
Scale Curvedecode_zerodep[5Kitems]google (protobuf)2.20 ms27.5 µs454.836.4K2.12 ms3.65 ms139.6 µs2.29 ms26.8 µs235.7 µs2.9 µs27.7 µs80.0x slower
Scale Curveencode_zerodep[100items]google (protobuf)14.3 µs226.5 ns70.0K4.42M13.7 µs65.0 µs1.2 µs14.5 µs219.4 ns3.0 µs28.7 ns227.6 ns63.1x slower
Scale Curveencode_zerodep[10items]google (protobuf)4.4 µs171.3 ns229.2K5.84M4.1 µs48.0 µs790.7 ns4.4 µs166.1 ns2.5 µs22.2 ns172.3 ns25.5x slower
Scale Curveencode_zerodep[10Kitems]google (protobuf)1.64 ms63.9 µs610.515.6K1.61 ms2.02 ms23.8 µs1.66 ms63.2 µs121.4 µs2.3 µs70.3 µs25.6x slower
Scale Curveencode_zerodep[1Kitems]google (protobuf)160.8 µs6.0 µs6.2K165.5K156.3 µs333.1 µs5.5 µs167.8 µs5.9 µs114.6 µs1.1 µs6.0 µs26.6x slower
Scale Curveencode_zerodep[500items]google (protobuf)78.7 µs2.8 µs12.7K356.2K76.3 µs139.2 µs3.4 µs85.0 µs2.7 µs58.6 µs474.3 ns2.8 µs28.0x slower
Scale Curveencode_zerodep[50items]google (protobuf)8.8 µs190.7 ns113.4K5.24M8.3 µs135.1 µs1.0 µs9.0 µs184.9 ns1.5 µs14.7 ns194.3 ns46.2x slower
Scale Curveencode_zerodep[50Kitems]google (protobuf)11.25 ms346.0 µs88.92.9K11.19 ms11.56 ms58.5 µs11.32 ms341.5 µs403.7 µs5.8 µs353.4 µs32.5x slower
Scale Curveencode_zerodep[5Kitems]google (protobuf)814.0 µs33.1 µs1.2K30.3K796.4 µs949.4 µs10.3 µs826.2 µs31.4 µs309.2 µs8.1 µs38.6 µs24.6x slower

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Scale Curveroundtrip_zerodep[100items]48.9 µs20.4K47.1 µs93.7 µs2.1 µs54.3 µs
Scale Curveroundtrip_zerodep[10items]12.7 µs78.9K12.1 µs36.1 µs922.7 ns12.9 µs
Scale Curveroundtrip_zerodep[10Kitems]5.99 ms166.95.92 ms6.41 ms47.6 µs6.06 ms
Scale Curveroundtrip_zerodep[1Kitems]579.3 µs1.7K563.3 µs807.4 µs13.0 µs589.7 µs
Scale Curveroundtrip_zerodep[500items]281.9 µs3.5K272.6 µs634.7 µs14.7 µs289.9 µs
Scale Curveroundtrip_zerodep[50items]28.4 µs35.2K27.1 µs86.6 µs1.6 µs29.2 µs
Scale Curveroundtrip_zerodep[50Kitems]38.03 ms26.337.71 ms38.42 ms156.2 µs38.27 ms
Scale Curveroundtrip_zerodep[5Kitems]2.98 ms335.92.94 ms3.17 ms21.8 µs3.01 ms
test_decode_largedecode_large246.7 µs4.1K240.9 µs400.6 µs6.2 µs254.0 µs
test_decode_mediumdecode_medium36.3 µs27.6K34.5 µs111.9 µs1.9 µs38.0 µs
test_decode_smalldecode_small3.6 µs278.5K3.4 µs39.7 µs484.6 ns3.7 µs
test_encode_largeencode_large94.5 µs10.6K91.6 µs170.0 µs3.9 µs101.3 µs
test_encode_mediumencode_medium15.5 µs64.4K14.6 µs107.7 µs1.3 µs15.8 µs
test_encode_smallencode_small1.6 µs643.4K1.4 µs31.4 µs452.4 ns1.6 µs
test_from_dict_largefrom_dict_large126.9 µs7.9K123.6 µs205.4 µs4.5 µs133.7 µs
test_roundtrip_largeroundtrip_large343.5 µs2.9K334.5 µs502.4 µs11.7 µs352.7 µs
test_roundtrip_mediumroundtrip_medium52.1 µs19.2K50.1 µs125.5 µs2.5 µs57.7 µs
test_roundtrip_smallroundtrip_small5.3 µs188.6K5.0 µs34.4 µs637.4 ns5.4 µs
test_to_dict_largeto_dict_large78.4 µs12.8K73.5 µs348.6 µs12.2 µs94.2 µs

qr

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Encode Binaryzerodepqrcode27.81 ms35.15 ms36.028.527.55 ms28.44 ms162.1 µs28.15 ms34.84 ms36.60 ms329.7 µs35.48 ms1.3x faster
Encode High Ecczerodepqrcode5.17 ms5.01 ms193.4199.65.10 ms5.38 ms34.2 µs5.23 ms4.97 ms5.09 ms20.6 µs5.05 ms~equal
Encode Large Datazerodepqrcode28.11 ms38.24 ms35.626.227.67 ms32.20 ms738.1 µs28.53 ms38.07 ms38.46 ms102.5 µs38.39 ms1.4x faster
Encode Longzerodepqrcode8.73 ms9.55 ms114.5104.88.64 ms9.08 ms65.5 µs8.84 ms9.46 ms10.03 ms63.5 µs9.61 ms1.1x faster
Encode Numericzerodepqrcode3.41 ms3.23 ms293.0309.83.35 ms3.89 ms37.6 µs3.46 ms3.18 ms3.35 ms23.2 µs3.27 ms1.1x slower
Encode Shortzerodepqrcode1.86 ms1.41 ms537.9706.91.82 ms1.99 ms15.7 µs1.88 ms1.40 ms1.51 ms12.5 µs1.44 ms1.3x slower
Encode URLzerodepqrcode4.28 ms4.10 ms233.4243.64.21 ms6.33 ms170.7 µs4.32 ms4.04 ms6.13 ms172.2 µs4.14 ms~equal

readability

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Largezerodepreadability-lxml24.41 ms19.77 ms41.050.623.50 ms25.34 ms542.5 µs25.25 ms19.35 ms20.36 ms212.3 µs20.28 ms1.2x slower
LargezerodepMozilla Readability.js24.41 ms564.13 ms41.01.823.50 ms25.34 ms542.5 µs25.25 ms542.24 ms584.37 ms17.71 ms584.37 ms23.1x faster
Mediumzerodepreadability-lxml2.03 ms2.56 ms493.5390.01.93 ms2.54 ms84.1 µs2.12 ms2.47 ms3.10 ms68.3 µs2.63 ms1.3x faster
MediumzerodepMozilla Readability.js2.03 ms20.27 ms493.549.31.93 ms2.54 ms84.1 µs2.12 ms13.94 ms36.34 ms4.85 ms30.02 ms10.0x faster
Smallzerodepreadability-lxml181.4 µs456.1 µs5.5K2.2K166.1 µs2.73 ms69.7 µs221.2 µs430.3 µs606.3 µs16.2 µs477.3 µs2.5x faster
SmallzerodepMozilla Readability.js181.4 µs12.06 ms5.5K82.9166.1 µs2.73 ms69.7 µs221.2 µs9.57 ms14.95 ms2.08 ms14.95 ms66.5x faster
Synthetic (Large)zerodepreadability-lxml3.97 ms10.30 ms252.297.03.81 ms5.10 ms206.7 µs4.55 ms9.70 ms10.80 ms272.6 µs10.65 ms2.6x faster
Synthetic (Large)zerodepMozilla Readability.js3.97 ms36.96 ms252.227.13.81 ms5.10 ms206.7 µs4.55 ms34.63 ms39.14 ms1.07 ms38.44 ms9.3x faster
Synthetic (Medium)zerodepreadability-lxml785.4 µs1.82 ms1.3K549.4739.6 µs1.36 ms56.1 µs848.8 µs1.75 ms2.31 ms45.4 µs1.87 ms2.3x faster
Synthetic (Medium)zerodepMozilla Readability.js785.4 µs10.61 ms1.3K94.3739.6 µs1.36 ms56.1 µs848.8 µs8.23 ms13.74 ms1.73 ms12.88 ms13.5x faster
Synthetic (Small)zerodepreadability-lxml290.0 µs528.0 µs3.4K1.9K267.4 µs823.1 µs28.7 µs356.9 µs500.1 µs775.7 µs17.8 µs551.9 µs1.8x faster
Synthetic (Small)zerodepMozilla Readability.js290.0 µs6.97 ms3.4K143.4267.4 µs823.1 µs28.7 µs356.9 µs5.19 ms15.43 ms2.20 ms10.25 ms24.0x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Is Probably Readablezerodep1.09 ms916.51.01 ms1.94 ms137.4 µs1.15 ms

retry

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Backoff Calculationzerodeptenacity4.2 µs11.1 µs240.6K89.8K3.9 µs50.4 µs612.7 ns4.3 µs10.6 µs67.0 µs1.0 µs11.3 µs2.7x faster
Decorator Overheadzerodeptenacity393.3 ns14.2 µs2.54M70.5K364.6 ns2.0 µs30.5 ns401.6 ns12.2 µs533.6 µs10.7 µs14.4 µs36.1x faster
Retry With Failureszerodeptenacity123.9 µs160.4 µs8.1K6.2K73.7 µs991.2 µs14.9 µs131.8 µs107.9 µs352.5 µs13.4 µs173.5 µs1.3x faster

runner

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Env Passingzerodepsh9.96 ms63.66 ms100.415.79.62 ms10.47 ms180.5 µs10.25 ms61.76 ms66.38 ms1.28 ms66.38 ms6.4x faster
Env Passingzerodepsubprocess9.96 ms9.80 ms100.4102.09.62 ms10.47 ms180.5 µs10.25 ms9.39 ms10.27 ms150.2 µs10.08 ms~equal
Output Capturezerodepsh9.71 ms63.29 ms103.015.89.35 ms10.06 ms127.0 µs9.88 ms60.78 ms65.03 ms1.24 ms65.03 ms6.5x faster
Output Capturezerodepsubprocess9.71 ms9.73 ms103.0102.89.35 ms10.06 ms127.0 µs9.88 ms9.31 ms10.62 ms172.1 µs10.00 ms~equal
Simple Commandzerodepsh1.87 ms53.01 ms534.218.91.80 ms2.04 ms31.2 µs1.92 ms51.06 ms55.18 ms1.25 ms55.18 ms28.3x faster
Simple Commandzerodepsubprocess1.87 ms783.4 µs534.21.3K1.80 ms2.04 ms31.2 µs1.92 ms744.3 µs1.39 ms40.0 µs871.0 µs2.4x slower
Stdin Inputzerodepsh9.80 ms63.58 ms102.115.79.42 ms10.44 ms198.9 µs10.18 ms61.41 ms65.51 ms988.2 µs65.51 ms6.5x faster
Stdin Inputzerodepsubprocess9.80 ms9.86 ms102.1101.49.42 ms10.44 ms198.9 µs10.18 ms9.39 ms10.68 ms244.6 µs10.33 ms~equal
Streaming Lineszerodepsh9.91 ms63.94 ms100.915.69.41 ms11.25 ms333.5 µs10.63 ms62.77 ms66.12 ms1.03 ms66.12 ms6.5x faster
Streaming Lineszerodepsubprocess9.91 ms9.80 ms100.9102.09.41 ms11.25 ms333.5 µs10.63 ms9.36 ms11.60 ms282.4 µs10.26 ms~equal

scheduler

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Batch Next Fire Timezerodepcroniter539.3 µs3.05 ms1.9K328.4524.1 µs721.6 µs9.1 µs547.5 µs3.00 ms3.24 ms29.2 µs3.10 ms5.6x faster
Batch Next Fire TimezerodepAPScheduler539.3 µs749.0 µs1.9K1.3K524.1 µs721.6 µs9.1 µs547.5 µs734.1 µs1.02 ms11.2 µs756.1 µs1.4x faster
Cron Parsingzerodepcroniter33.3 µs240.2 µs30.0K4.2K32.2 µs92.2 µs1.8 µs34.4 µs234.3 µs455.2 µs8.9 µs248.5 µs7.2x faster
Cron ParsingzerodepAPScheduler33.3 µs133.9 µs30.0K7.5K32.2 µs92.2 µs1.8 µs34.4 µs128.8 µs152.6 µs3.6 µs140.8 µs4.0x faster
Job Add Overheadzerodepschedule408.0 µs521.4 µs2.5K1.9K399.7 µs470.0 µs7.0 µs416.4 µs274.7 µs340.84 ms7.02 ms914.9 µs1.3x faster
Next Fire Timezerodepcroniter42.0 µs410.6 µs23.8K2.4K40.0 µs80.4 µs1.9 µs43.7 µs393.4 µs889.0 µs34.8 µs427.8 µs9.8x faster
Next Fire TimezerodepAPScheduler42.0 µs99.0 µs23.8K10.1K40.0 µs80.4 µs1.9 µs43.7 µs95.5 µs159.2 µs3.3 µs105.5 µs2.4x faster

semver

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Comparezerodeppackaging2.7 µs2.9 µs373.7K340.6K2.5 µs47.7 µs468.8 ns2.7 µs2.8 µs35.5 µs465.2 ns3.0 µs1.1x faster
Parse Complexzerodeppackaging16.9 µs16.7 µs59.0K59.9K16.4 µs61.9 µs1.2 µs17.3 µs16.1 µs63.3 µs1.2 µs17.1 µs~equal
Parse Prereleasezerodeppackaging15.2 µs15.7 µs65.7K63.9K14.7 µs115.6 µs1.3 µs15.6 µs15.1 µs54.9 µs1.2 µs16.0 µs~equal
Parse Simplezerodeppackaging10.2 µs4.5 µs98.3K222.3K9.8 µs37.4 µs910.8 ns10.3 µs4.2 µs286.8 µs1.2 µs4.5 µs2.3x slower
Property Accesszerodeppackaging897.9 ns6.7 µs1.11M149.4K821.0 ns12.2 µs222.2 ns951.0 ns6.4 µs48.2 µs718.8 ns6.8 µs7.5x faster
Sortzerodeppackaging1.3 µs1.5 µs750.4K669.1K1.3 µs33.5 µs301.7 ns1.4 µs1.4 µs17.6 µs325.6 ns1.5 µs1.1x faster

soup

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Fixture Parse Blog Postzerodepbeautifulsoup42.25 ms6.53 ms445.4153.22.05 ms3.94 ms346.7 µs3.12 ms5.01 ms109.90 ms10.99 ms6.29 ms2.9x faster
Fixture Parse Docs Pagezerodepbeautifulsoup43.56 ms9.81 ms280.6101.92.99 ms108.68 ms6.06 ms3.98 ms7.50 ms121.68 ms14.32 ms8.67 ms2.8x faster
Fixture Parse Ecommercezerodepbeautifulsoup45.05 ms14.31 ms197.969.94.14 ms110.02 ms7.81 ms5.30 ms10.25 ms119.12 ms18.93 ms11.94 ms2.8x faster
Fixture Select Docs Pagezerodepbeautifulsoup44.64 ms15.80 ms215.663.33.79 ms119.50 ms8.34 ms4.87 ms13.62 ms124.10 ms13.14 ms15.09 ms3.4x faster
Fixture Select Ecommercezerodepbeautifulsoup46.14 ms22.95 ms162.943.65.20 ms111.68 ms7.96 ms6.41 ms18.27 ms124.20 ms20.26 ms20.02 ms3.7x faster
Fixture Serialize Blog Postzerodepbeautifulsoup42.54 ms8.49 ms393.8117.72.13 ms107.19 ms5.13 ms3.17 ms7.30 ms115.35 ms9.46 ms8.61 ms3.3x faster
Fixture Serialize Ecommercezerodepbeautifulsoup45.24 ms19.29 ms190.751.84.36 ms115.75 ms7.82 ms5.54 ms15.23 ms130.05 ms19.44 ms16.47 ms3.7x faster
Largezerodepbeautifulsoup422.33 ms45.31 ms44.822.114.11 ms119.70 ms27.18 ms111.35 ms31.08 ms136.83 ms35.22 ms136.51 ms2.0x faster
Mediumzerodepbeautifulsoup41.57 ms3.96 ms638.3252.71.45 ms2.46 ms216.1 µs2.29 ms3.22 ms115.20 ms7.51 ms4.33 ms2.5x faster
Pseudo Select (Large)zerodepbeautifulsoup489.96 ms83.42 ms11.112.080.40 ms183.78 ms29.55 ms183.78 ms68.38 ms180.45 ms38.35 ms180.45 ms1.1x slower
Pseudo Select (Medium)zerodepbeautifulsoup42.84 ms7.31 ms352.7136.92.65 ms4.88 ms299.1 µs3.65 ms6.97 ms8.60 ms440.6 µs8.42 ms2.6x faster
Pseudo Select (Small)zerodepbeautifulsoup4287.5 µs984.0 µs3.5K1.0K269.1 µs609.0 µs25.8 µs348.3 µs933.9 µs1.40 ms65.2 µs1.08 ms3.4x faster
Scale Curveparse_find_zerodep[5nodes]parse_find_bs4[5nodes]178.5 µs445.4 µs5.6K2.2K160.2 µs423.3 µs26.1 µs240.8 µs398.5 µs830.9 µs58.3 µs532.3 µs2.5x faster
Scale Curveparse_find_zerodep[5nodes]serialize_bs4[5nodes]178.5 µs609.8 µs5.6K1.6K160.2 µs423.3 µs26.1 µs240.8 µs559.5 µs992.4 µs60.8 µs693.9 µs3.4x faster
Scale Curveparse_find_zerodep[5nodes]css_select_bs4[5nodes]178.5 µs937.6 µs5.6K1.1K160.2 µs423.3 µs26.1 µs240.8 µs702.4 µs180.73 ms5.78 ms827.1 µs5.3x faster
Scale Curveparse_find_zerodep[25nodes]parse_find_bs4[25nodes]776.7 µs2.23 ms1.3K449.3717.9 µs1.30 ms84.2 µs818.5 µs1.65 ms216.25 ms9.45 ms2.78 ms2.9x faster
Scale Curveparse_find_zerodep[25nodes]serialize_bs4[25nodes]776.7 µs2.52 ms1.3K397.5717.9 µs1.30 ms84.2 µs818.5 µs2.36 ms4.18 ms303.5 µs3.49 ms3.2x faster
Scale Curveparse_find_zerodep[25nodes]css_select_bs4[25nodes]776.7 µs3.04 ms1.3K329.4717.9 µs1.30 ms84.2 µs818.5 µs2.86 ms4.39 ms333.9 µs4.13 ms3.9x faster
Scale Curveparse_find_zerodep[50nodes]parse_find_bs4[50nodes]1.71 ms3.85 ms583.2260.01.42 ms108.50 ms4.35 ms2.27 ms3.20 ms111.38 ms6.38 ms4.45 ms2.2x faster
Scale Curveparse_find_zerodep[50nodes]serialize_bs4[50nodes]1.71 ms4.93 ms583.2202.81.42 ms108.50 ms4.35 ms2.27 ms4.64 ms6.32 ms418.5 µs5.92 ms2.9x faster
Scale Curveparse_find_zerodep[50nodes]css_select_bs4[50nodes]1.71 ms5.88 ms583.2170.11.42 ms108.50 ms4.35 ms2.27 ms5.59 ms7.37 ms447.3 µs7.00 ms3.4x faster
Scale Curveparse_find_zerodep[250nodes]parse_find_bs4[250nodes]9.62 ms23.95 ms103.941.86.99 ms107.97 ms14.86 ms7.96 ms15.57 ms132.74 ms28.74 ms128.16 ms2.5x faster
Scale Curveparse_find_zerodep[250nodes]serialize_bs4[250nodes]9.62 ms34.28 ms103.929.26.99 ms107.97 ms14.86 ms7.96 ms22.42 ms268.09 ms43.98 ms132.20 ms3.6x faster
Scale Curveparse_find_zerodep[250nodes]css_select_bs4[250nodes]9.62 ms37.17 ms103.926.96.99 ms107.97 ms14.86 ms7.96 ms27.13 ms145.84 ms31.70 ms138.29 ms3.9x faster
Scale Curveparse_find_zerodep[500nodes]parse_find_bs4[500nodes]21.04 ms47.71 ms47.521.014.03 ms120.92 ms25.52 ms114.70 ms32.39 ms153.22 ms39.25 ms147.70 ms2.3x faster
Scale Curveparse_find_zerodep[500nodes]serialize_bs4[500nodes]21.04 ms62.76 ms47.515.914.03 ms120.92 ms25.52 ms114.70 ms45.24 ms165.35 ms42.17 ms163.05 ms3.0x faster
Scale Curveparse_find_zerodep[500nodes]css_select_bs4[500nodes]21.04 ms74.70 ms47.513.414.03 ms120.92 ms25.52 ms114.70 ms54.74 ms173.76 ms44.40 ms173.76 ms3.5x faster
Scale Curveparse_find_zerodep[2500nodes]parse_find_bs4[2500nodes]109.53 ms233.20 ms9.14.372.43 ms183.93 ms55.60 ms183.93 ms163.28 ms283.81 ms63.31 ms283.81 ms2.1x faster
Scale Curveparse_find_zerodep[2500nodes]serialize_bs4[2500nodes]109.53 ms308.06 ms9.13.272.43 ms183.93 ms55.60 ms183.93 ms226.48 ms386.74 ms75.04 ms386.74 ms2.8x faster
Scale Curveparse_find_zerodep[2500nodes]css_select_bs4[2500nodes]109.53 ms380.78 ms9.12.672.43 ms183.93 ms55.60 ms183.93 ms286.09 ms421.46 ms53.98 ms421.46 ms3.5x faster
Scale Curveparse_find_zerodep[5000nodes]parse_find_bs4[5000nodes]211.32 ms499.09 ms4.72.0145.68 ms260.91 ms59.46 ms260.91 ms449.25 ms561.10 ms54.30 ms561.10 ms2.4x faster
Scale Curveparse_find_zerodep[5000nodes]serialize_bs4[5000nodes]211.32 ms631.89 ms4.71.6145.68 ms260.91 ms59.46 ms260.91 ms581.19 ms694.05 ms56.87 ms694.05 ms3.0x faster
Scale Curveparse_find_zerodep[5000nodes]css_select_bs4[5000nodes]211.32 ms726.24 ms4.71.4145.68 ms260.91 ms59.46 ms260.91 ms694.63 ms812.87 ms48.99 ms812.87 ms3.4x faster
Scale Curveparse_find_zerodep[25000nodes]parse_find_bs4[25000nodes]1.155 s2.456 s0.90.41.030 s1.245 s91.43 ms1.245 s2.364 s2.624 s109.24 ms2.624 s2.1x faster
Scale Curveparse_find_zerodep[25000nodes]serialize_bs4[25000nodes]1.155 s3.126 s0.90.31.030 s1.245 s91.43 ms1.245 s3.021 s3.286 s109.10 ms3.286 s2.7x faster
Scale Curveparse_find_zerodep[25000nodes]css_select_bs4[25000nodes]1.155 s3.710 s0.90.31.030 s1.245 s91.43 ms1.245 s3.662 s3.805 s57.30 ms3.805 s3.2x faster
Scale Curveserialize_zerodep[5nodes]parse_find_bs4[5nodes]187.7 µs445.4 µs5.3K2.2K173.1 µs469.3 µs24.8 µs249.1 µs398.5 µs830.9 µs58.3 µs532.3 µs2.4x faster
Scale Curveserialize_zerodep[5nodes]serialize_bs4[5nodes]187.7 µs609.8 µs5.3K1.6K173.1 µs469.3 µs24.8 µs249.1 µs559.5 µs992.4 µs60.8 µs693.9 µs3.2x faster
Scale Curveserialize_zerodep[5nodes]css_select_bs4[5nodes]187.7 µs937.6 µs5.3K1.1K173.1 µs469.3 µs24.8 µs249.1 µs702.4 µs180.73 ms5.78 ms827.1 µs5.0x faster
Scale Curveserialize_zerodep[25nodes]parse_find_bs4[25nodes]827.1 µs2.23 ms1.2K449.3772.1 µs1.37 ms81.9 µs869.5 µs1.65 ms216.25 ms9.45 ms2.78 ms2.7x faster
Scale Curveserialize_zerodep[25nodes]serialize_bs4[25nodes]827.1 µs2.52 ms1.2K397.5772.1 µs1.37 ms81.9 µs869.5 µs2.36 ms4.18 ms303.5 µs3.49 ms3.0x faster
Scale Curveserialize_zerodep[25nodes]css_select_bs4[25nodes]827.1 µs3.04 ms1.2K329.4772.1 µs1.37 ms81.9 µs869.5 µs2.86 ms4.39 ms333.9 µs4.13 ms3.7x faster
Scale Curveserialize_zerodep[50nodes]parse_find_bs4[50nodes]1.62 ms3.85 ms618.5260.01.50 ms2.53 ms223.4 µs2.36 ms3.20 ms111.38 ms6.38 ms4.45 ms2.4x faster
Scale Curveserialize_zerodep[50nodes]serialize_bs4[50nodes]1.62 ms4.93 ms618.5202.81.50 ms2.53 ms223.4 µs2.36 ms4.64 ms6.32 ms418.5 µs5.92 ms3.1x faster
Scale Curveserialize_zerodep[50nodes]css_select_bs4[50nodes]1.62 ms5.88 ms618.5170.11.50 ms2.53 ms223.4 µs2.36 ms5.59 ms7.37 ms447.3 µs7.00 ms3.6x faster
Scale Curveserialize_zerodep[250nodes]parse_find_bs4[250nodes]7.73 ms23.95 ms129.341.87.24 ms8.34 ms267.1 µs8.13 ms15.57 ms132.74 ms28.74 ms128.16 ms3.1x faster
Scale Curveserialize_zerodep[250nodes]serialize_bs4[250nodes]7.73 ms34.28 ms129.329.27.24 ms8.34 ms267.1 µs8.13 ms22.42 ms268.09 ms43.98 ms132.20 ms4.4x faster
Scale Curveserialize_zerodep[250nodes]css_select_bs4[250nodes]7.73 ms37.17 ms129.326.97.24 ms8.34 ms267.1 µs8.13 ms27.13 ms145.84 ms31.70 ms138.29 ms4.8x faster
Scale Curveserialize_zerodep[500nodes]parse_find_bs4[500nodes]27.98 ms47.71 ms35.721.014.55 ms387.58 ms53.25 ms123.28 ms32.39 ms153.22 ms39.25 ms147.70 ms1.7x faster
Scale Curveserialize_zerodep[500nodes]serialize_bs4[500nodes]27.98 ms62.76 ms35.715.914.55 ms387.58 ms53.25 ms123.28 ms45.24 ms165.35 ms42.17 ms163.05 ms2.2x faster
Scale Curveserialize_zerodep[500nodes]css_select_bs4[500nodes]27.98 ms74.70 ms35.713.414.55 ms387.58 ms53.25 ms123.28 ms54.74 ms173.76 ms44.40 ms173.76 ms2.7x faster
Scale Curveserialize_zerodep[2500nodes]parse_find_bs4[2500nodes]117.51 ms233.20 ms8.54.373.88 ms191.04 ms55.67 ms191.04 ms163.28 ms283.81 ms63.31 ms283.81 ms2.0x faster
Scale Curveserialize_zerodep[2500nodes]serialize_bs4[2500nodes]117.51 ms308.06 ms8.53.273.88 ms191.04 ms55.67 ms191.04 ms226.48 ms386.74 ms75.04 ms386.74 ms2.6x faster
Scale Curveserialize_zerodep[2500nodes]css_select_bs4[2500nodes]117.51 ms380.78 ms8.52.673.88 ms191.04 ms55.67 ms191.04 ms286.09 ms421.46 ms53.98 ms421.46 ms3.2x faster
Scale Curveserialize_zerodep[5000nodes]parse_find_bs4[5000nodes]219.03 ms499.09 ms4.62.0151.56 ms273.14 ms60.90 ms273.14 ms449.25 ms561.10 ms54.30 ms561.10 ms2.3x faster
Scale Curveserialize_zerodep[5000nodes]serialize_bs4[5000nodes]219.03 ms631.89 ms4.61.6151.56 ms273.14 ms60.90 ms273.14 ms581.19 ms694.05 ms56.87 ms694.05 ms2.9x faster
Scale Curveserialize_zerodep[5000nodes]css_select_bs4[5000nodes]219.03 ms726.24 ms4.61.4151.56 ms273.14 ms60.90 ms273.14 ms694.63 ms812.87 ms48.99 ms812.87 ms3.3x faster
Scale Curveserialize_zerodep[25000nodes]parse_find_bs4[25000nodes]1.202 s2.456 s0.80.41.117 s1.320 s73.42 ms1.320 s2.364 s2.624 s109.24 ms2.624 s2.0x faster
Scale Curveserialize_zerodep[25000nodes]serialize_bs4[25000nodes]1.202 s3.126 s0.80.31.117 s1.320 s73.42 ms1.320 s3.021 s3.286 s109.10 ms3.286 s2.6x faster
Scale Curveserialize_zerodep[25000nodes]css_select_bs4[25000nodes]1.202 s3.710 s0.80.31.117 s1.320 s73.42 ms1.320 s3.662 s3.805 s57.30 ms3.805 s3.1x faster
Scale Curvecss_select_zerodep[5nodes]parse_find_bs4[5nodes]229.4 µs445.4 µs4.4K2.2K211.6 µs427.2 µs24.7 µs291.3 µs398.5 µs830.9 µs58.3 µs532.3 µs1.9x faster
Scale Curvecss_select_zerodep[5nodes]serialize_bs4[5nodes]229.4 µs609.8 µs4.4K1.6K211.6 µs427.2 µs24.7 µs291.3 µs559.5 µs992.4 µs60.8 µs693.9 µs2.7x faster
Scale Curvecss_select_zerodep[5nodes]css_select_bs4[5nodes]229.4 µs937.6 µs4.4K1.1K211.6 µs427.2 µs24.7 µs291.3 µs702.4 µs180.73 ms5.78 ms827.1 µs4.1x faster
Scale Curvecss_select_zerodep[25nodes]parse_find_bs4[25nodes]974.2 µs2.23 ms1.0K449.3914.6 µs1.59 ms89.7 µs1.02 ms1.65 ms216.25 ms9.45 ms2.78 ms2.3x faster
Scale Curvecss_select_zerodep[25nodes]serialize_bs4[25nodes]974.2 µs2.52 ms1.0K397.5914.6 µs1.59 ms89.7 µs1.02 ms2.36 ms4.18 ms303.5 µs3.49 ms2.6x faster
Scale Curvecss_select_zerodep[25nodes]css_select_bs4[25nodes]974.2 µs3.04 ms1.0K329.4914.6 µs1.59 ms89.7 µs1.02 ms2.86 ms4.39 ms333.9 µs4.13 ms3.1x faster
Scale Curvecss_select_zerodep[50nodes]parse_find_bs4[50nodes]1.89 ms3.85 ms528.8260.01.77 ms2.78 ms216.9 µs2.61 ms3.20 ms111.38 ms6.38 ms4.45 ms2.0x faster
Scale Curvecss_select_zerodep[50nodes]serialize_bs4[50nodes]1.89 ms4.93 ms528.8202.81.77 ms2.78 ms216.9 µs2.61 ms4.64 ms6.32 ms418.5 µs5.92 ms2.6x faster
Scale Curvecss_select_zerodep[50nodes]css_select_bs4[50nodes]1.89 ms5.88 ms528.8170.11.77 ms2.78 ms216.9 µs2.61 ms5.59 ms7.37 ms447.3 µs7.00 ms3.1x faster
Scale Curvecss_select_zerodep[250nodes]parse_find_bs4[250nodes]9.17 ms23.95 ms109.141.88.78 ms11.76 ms396.4 µs9.53 ms15.57 ms132.74 ms28.74 ms128.16 ms2.6x faster
Scale Curvecss_select_zerodep[250nodes]serialize_bs4[250nodes]9.17 ms34.28 ms109.129.28.78 ms11.76 ms396.4 µs9.53 ms22.42 ms268.09 ms43.98 ms132.20 ms3.7x faster
Scale Curvecss_select_zerodep[250nodes]css_select_bs4[250nodes]9.17 ms37.17 ms109.126.98.78 ms11.76 ms396.4 µs9.53 ms27.13 ms145.84 ms31.70 ms138.29 ms4.1x faster
Scale Curvecss_select_zerodep[500nodes]parse_find_bs4[500nodes]30.31 ms47.71 ms33.021.017.27 ms406.11 ms56.22 ms120.66 ms32.39 ms153.22 ms39.25 ms147.70 ms1.6x faster
Scale Curvecss_select_zerodep[500nodes]serialize_bs4[500nodes]30.31 ms62.76 ms33.015.917.27 ms406.11 ms56.22 ms120.66 ms45.24 ms165.35 ms42.17 ms163.05 ms2.1x faster
Scale Curvecss_select_zerodep[500nodes]css_select_bs4[500nodes]30.31 ms74.70 ms33.013.417.27 ms406.11 ms56.22 ms120.66 ms54.74 ms173.76 ms44.40 ms173.76 ms2.5x faster
Scale Curvecss_select_zerodep[2500nodes]parse_find_bs4[2500nodes]129.68 ms233.20 ms7.74.388.99 ms204.63 ms53.71 ms204.63 ms163.28 ms283.81 ms63.31 ms283.81 ms1.8x faster
Scale Curvecss_select_zerodep[2500nodes]serialize_bs4[2500nodes]129.68 ms308.06 ms7.73.288.99 ms204.63 ms53.71 ms204.63 ms226.48 ms386.74 ms75.04 ms386.74 ms2.4x faster
Scale Curvecss_select_zerodep[2500nodes]css_select_bs4[2500nodes]129.68 ms380.78 ms7.72.688.99 ms204.63 ms53.71 ms204.63 ms286.09 ms421.46 ms53.98 ms421.46 ms2.9x faster
Scale Curvecss_select_zerodep[5000nodes]parse_find_bs4[5000nodes]251.65 ms499.09 ms4.02.0182.23 ms309.46 ms62.81 ms309.46 ms449.25 ms561.10 ms54.30 ms561.10 ms2.0x faster
Scale Curvecss_select_zerodep[5000nodes]serialize_bs4[5000nodes]251.65 ms631.89 ms4.01.6182.23 ms309.46 ms62.81 ms309.46 ms581.19 ms694.05 ms56.87 ms694.05 ms2.5x faster
Scale Curvecss_select_zerodep[5000nodes]css_select_bs4[5000nodes]251.65 ms726.24 ms4.01.4182.23 ms309.46 ms62.81 ms309.46 ms694.63 ms812.87 ms48.99 ms812.87 ms2.9x faster
Scale Curvecss_select_zerodep[25000nodes]parse_find_bs4[25000nodes]1.400 s2.456 s0.70.41.274 s1.499 s103.70 ms1.499 s2.364 s2.624 s109.24 ms2.624 s1.8x faster
Scale Curvecss_select_zerodep[25000nodes]serialize_bs4[25000nodes]1.400 s3.126 s0.70.31.274 s1.499 s103.70 ms1.499 s3.021 s3.286 s109.10 ms3.286 s2.2x faster
Scale Curvecss_select_zerodep[25000nodes]css_select_bs4[25000nodes]1.400 s3.710 s0.70.31.274 s1.499 s103.70 ms1.499 s3.662 s3.805 s57.30 ms3.805 s2.6x faster
Select (Large)zerodepbeautifulsoup425.98 ms67.31 ms38.514.917.57 ms125.72 ms27.56 ms116.90 ms54.15 ms168.34 ms35.92 ms168.34 ms2.6x faster
Select (Medium)zerodepbeautifulsoup41.90 ms6.45 ms525.5155.11.78 ms3.15 ms245.8 µs2.69 ms5.51 ms110.04 ms8.20 ms6.84 ms3.4x faster
Select (Small)zerodepbeautifulsoup4230.1 µs773.3 µs4.3K1.3K209.6 µs709.3 µs29.1 µs299.6 µs718.3 µs1.21 ms67.5 µs863.3 µs3.4x faster
Serialize (Large)zerodepbeautifulsoup422.01 ms60.10 ms45.416.615.01 ms122.16 ms24.74 ms110.71 ms44.74 ms156.43 ms37.96 ms153.18 ms2.7x faster
Serialize (Medium)zerodepbeautifulsoup41.62 ms5.37 ms616.9186.11.51 ms2.73 ms218.6 µs2.33 ms4.59 ms105.55 ms7.18 ms5.76 ms3.3x faster
Serialize (Small)zerodepbeautifulsoup4220.6 µs614.9 µs4.5K1.6K164.5 µs111.23 ms2.01 ms245.0 µs561.8 µs1.04 ms62.2 µs700.7 µs2.8x faster
Smallzerodepbeautifulsoup4181.6 µs454.0 µs5.5K2.2K165.1 µs367.4 µs24.9 µs243.1 µs407.4 µs874.4 µs62.2 µs545.8 µs2.5x faster
Tree Ops (Large)zerodepbeautifulsoup422.91 ms51.69 ms43.719.315.46 ms127.18 ms26.25 ms115.85 ms35.00 ms153.01 ms39.68 ms147.30 ms2.3x faster
Tree Ops (Medium)zerodepbeautifulsoup41.68 ms4.25 ms596.6235.31.58 ms2.67 ms175.1 µs2.29 ms3.55 ms106.04 ms6.54 ms4.90 ms2.5x faster
Tree Ops (Small)zerodepbeautifulsoup4194.6 µs540.3 µs5.1K1.9K179.9 µs661.3 µs25.1 µs256.8 µs486.0 µs959.7 µs63.1 µs626.0 µs2.8x faster

sse

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Large Streamzerodephttpx2.25 ms1.61 ms444.4622.22.21 ms2.72 ms31.0 µs2.28 ms1.58 ms1.72 ms15.6 µs1.63 ms1.4x slower
Medium Streamzerodephttpx299.1 µs232.1 µs3.3K4.3K291.1 µs366.9 µs6.1 µs306.6 µs225.7 µs334.7 µs5.3 µs239.7 µs1.3x slower
Small Streamzerodephttpx23.5 µs16.6 µs42.6K60.1K22.7 µs74.3 µs1.5 µs24.0 µs16.0 µs74.0 µs1.2 µs16.9 µs1.4x slower

structlog

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Bind And Logzerodepstructlog8.5 µs14.9 µs117.3K67.1K8.1 µs47.0 µs847.0 ns8.7 µs13.2 µs910.0 µs10.8 µs21.5 µs1.7x faster
Bound Logzerodepstructlog8.7 µs13.9 µs115.1K72.0K8.3 µs55.8 µs924.7 ns8.9 µs13.1 µs64.5 µs1.6 µs16.2 µs1.6x faster
JSONRenderingzerodepstructlog7.3 µs8.5 µs137.9K117.7K6.9 µs47.2 µs822.1 ns7.4 µs8.2 µs42.0 µs821.7 ns8.6 µs1.2x faster
Simple Logzerodepstructlog7.7 µs9.6 µs130.2K104.0K7.3 µs38.4 µs848.7 ns7.9 µs9.2 µs43.1 µs920.6 ns9.9 µs1.3x faster

tabulate

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Large Tablezerodepreference5.32 ms21.28 ms187.847.04.79 ms86.50 ms5.99 ms5.03 ms21.06 ms21.75 ms118.1 µs21.44 ms4.0x faster
Medium Tablezerodepreference315.2 µs1.39 ms3.2K717.6303.8 µs712.4 µs22.2 µs324.3 µs1.37 ms1.65 ms21.2 µs1.42 ms4.4x faster
Small Tablezerodepreference36.5 µs112.6 µs27.4K8.9K35.4 µs79.8 µs1.9 µs38.4 µs109.0 µs178.6 µs5.2 µs120.3 µs3.1x faster

toon

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Decode Benchmarkdecode_large_oursdecode_large_ref1.68 ms1.75 ms596.3570.91.65 ms1.83 ms15.8 µs1.70 ms1.72 ms2.05 ms22.7 µs1.78 ms~equal
Decode Benchmarkdecode_medium_oursdecode_medium_ref247.9 µs257.8 µs4.0K3.9K236.1 µs613.6 µs28.4 µs285.8 µs250.9 µs415.9 µs6.5 µs265.1 µs~equal
Decode Benchmarkdecode_small_oursdecode_small_ref16.2 µs17.7 µs61.8K56.5K15.5 µs55.7 µs1.2 µs16.5 µs16.8 µs75.7 µs1.6 µs18.3 µs1.1x faster
Encode Benchmarkencode_large_oursencode_large_ref967.0 µs1.25 ms1.0K797.6951.2 µs1.14 ms12.7 µs980.5 µs1.23 ms1.54 ms18.1 µs1.28 ms1.3x faster
Encode Benchmarkencode_medium_oursencode_medium_ref154.9 µs199.2 µs6.5K5.0K150.6 µs287.8 µs5.2 µs161.6 µs193.9 µs275.5 µs5.2 µs207.0 µs1.3x faster
Encode Benchmarkencode_small_oursencode_small_ref6.9 µs9.7 µs144.1K103.5K6.6 µs42.2 µs843.2 ns7.0 µs9.3 µs26.8 µs989.6 ns9.9 µs1.4x faster

useragent

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Generate Chrome Desktopzerodepua_generator3.9 µs9.3 µs259.4K107.7K3.0 µs298.9 µs5.1 µs4.0 µs8.0 µs30.7 µs1.0 µs10.0 µs2.4x faster
Generate Defaultzerodepua_generator4.3 µs9.7 µs234.0K103.4K3.3 µs1.76 ms13.3 µs4.3 µs6.7 µs44.1 µs1.9 µs12.4 µs2.3x faster
Generate Edge Mobilezerodepua_generator4.1 µs11.4 µs244.3K87.5K3.4 µs336.6 µs5.3 µs4.0 µs8.9 µs157.4 µs4.9 µs15.8 µs2.8x faster
Headers Getzerodepua_generator6.1 µs11.9 µs163.4K83.8K5.0 µs387.9 µs6.3 µs6.4 µs10.5 µs80.7 µs1.4 µs12.7 µs1.9x faster

validate

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Benchmark Constrainedourspydantic7.9 µs1.2 µs126.3K822.1K7.5 µs21.5 µs751.7 ns8.0 µs1.1 µs18.9 µs263.6 ns1.2 µs6.5x slower
Benchmark Json Schemaourspydantic7.6 µs127.7 µs130.7K7.8K7.3 µs81.6 µs887.5 ns7.8 µs108.3 µs1.85 ms92.8 µs179.9 µs16.7x faster
Benchmark List Of Dictsourspydantic182.7 µs24.9 µs5.5K40.2K176.8 µs298.5 µs6.2 µs190.0 µs23.7 µs50.8 µs1.4 µs25.4 µs7.3x slower
Benchmark Nestedourspydantic8.2 µs1.7 µs122.6K591.6K7.7 µs76.1 µs980.1 ns8.3 µs1.6 µs24.6 µs329.2 ns1.7 µs4.8x slower
Benchmark Simpleourspydantic4.7 µs1.2 µs214.5K854.3K4.4 µs18.5 µs564.2 ns4.7 µs1.1 µs48.0 µs328.3 ns1.2 µs4.0x slower

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Benchmark Conversation (Large)ours32.54 ms30.732.20 ms32.79 ms154.9 µs32.76 ms
Benchmark Conversation (Medium)ours6.50 ms153.86.44 ms6.66 ms35.8 µs6.55 ms
Benchmark Conversation (Small)ours450.1 µs2.2K440.9 µs642.9 µs9.0 µs456.9 µs
Benchmark Disc Union Flat2000ours11.67 ms85.711.50 ms15.86 ms466.5 µs11.79 ms
Benchmark Disc Union Flat50ours297.8 µs3.4K290.7 µs369.8 µs5.3 µs305.5 µs
Benchmark Disc Union Flat500ours2.91 ms344.22.87 ms3.06 ms25.2 µs2.95 ms
Benchmark Tools10ours328.2 µs3.0K320.8 µs404.5 µs6.0 µs335.3 µs
Benchmark Tools200ours11.97 ms83.511.86 ms12.30 ms83.3 µs12.11 ms
Benchmark Tools50ours2.45 ms408.22.40 ms2.58 ms23.8 µs2.49 ms

websocket

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Burst Messageszerodepwebsockets3.65 ms5.13 ms274.0194.83.39 ms5.89 ms526.5 µs5.62 ms4.56 ms6.72 ms466.9 µs6.10 ms1.4x faster
Concurrent Messageszerodepwebsockets11.51 ms13.27 ms86.975.410.88 ms12.13 ms233.9 µs11.87 ms12.79 ms14.39 ms304.3 µs13.79 ms1.2x faster
Connection Setupzerodepwebsockets287.2 µs889.2 µs3.5K1.1K262.0 µs477.1 µs20.7 µs319.3 µs789.7 µs1.77 ms71.8 µs1.03 ms3.1x faster
Json Rpc Roundtripzerodepwebsockets61.5 µs83.6 µs16.3K12.0K54.3 µs141.2 µs6.4 µs74.9 µs74.3 µs160.6 µs6.6 µs96.2 µs1.4x faster
Large Payloadzerodepwebsockets4.98 ms2.62 ms200.7381.04.93 ms5.14 ms31.8 µs5.05 ms2.55 ms3.18 ms38.9 µs2.66 ms1.9x slower

xml

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Parse (Large)zerodepxmltodict3.87 ms4.29 ms258.5233.23.82 ms4.18 ms32.0 µs3.91 ms4.23 ms4.44 ms31.4 µs4.34 ms1.1x faster
Parse (Medium)zerodepxmltodict285.0 µs321.9 µs3.5K3.1K277.9 µs421.3 µs6.1 µs292.9 µs312.6 µs408.4 µs6.1 µs329.7 µs1.1x faster
Parse (Small)zerodepxmltodict11.2 µs12.9 µs89.0K77.7K10.8 µs48.5 µs1.1 µs11.4 µs12.4 µs41.9 µs1.1 µs13.2 µs1.1x faster
Unparse (Large)zerodepxmltodict3.02 ms4.95 ms331.1202.12.99 ms3.58 ms37.8 µs3.05 ms4.72 ms7.31 ms287.1 µs5.03 ms1.6x faster
Unparse (Medium)zerodepxmltodict207.8 µs346.7 µs4.8K2.9K202.6 µs394.5 µs8.5 µs214.8 µs338.7 µs444.6 µs6.2 µs354.3 µs1.7x faster
Unparse (Small)zerodepxmltodict11.1 µs14.9 µs89.9K67.0K10.7 µs40.7 µs1.0 µs11.4 µs14.4 µs53.5 µs1.3 µs15.4 µs1.3x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Extract Tagsextract_all560.3 µs1.8K548.9 µs835.2 µs13.4 µs567.7 µs
Extract Tagsextract_filtered331.1 µs3.0K322.8 µs437.5 µs6.9 µs338.2 µs
Extract Tagsextract_first_only7.2 µs138.6K7.0 µs54.2 µs746.6 ns7.3 µs

yaml

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Dump (Large)zerodepPyYAML2.08 ms15.41 ms479.864.92.05 ms3.28 ms96.4 µs2.12 ms14.06 ms91.77 ms9.70 ms14.35 ms7.4x faster
Dump (Medium)zerodepPyYAML98.3 µs690.5 µs10.2K1.4K94.8 µs169.3 µs5.5 µs111.9 µs667.1 µs1.40 ms38.7 µs702.9 µs7.0x faster
Dump (Small)zerodepPyYAML15.2 µs113.4 µs65.6K8.8K14.8 µs54.1 µs1.1 µs15.5 µs110.0 µs179.2 µs4.3 µs120.6 µs7.4x faster
Fixture Dump Docker ComposezerodepPyYAML8.7 µs63.6 µs115.0K15.7K8.3 µs51.3 µs829.1 ns8.8 µs61.4 µs125.6 µs3.1 µs69.9 µs7.3x faster
Fixture Dump Github ActionszerodepPyYAML340.7 µs2.51 ms2.9K398.4333.6 µs478.6 µs6.9 µs348.0 µs2.47 ms2.73 ms24.0 µs2.56 ms7.4x faster
Fixture Dump K8s DeploymentzerodepPyYAML192.9 µs1.40 ms5.2K715.9188.2 µs285.3 µs6.8 µs200.9 µs1.37 ms1.63 ms19.0 µs1.42 ms7.2x faster
Fixture Load Docker ComposezerodepPyYAML924.1 µs5.65 ms1.1K177.0906.6 µs1.07 ms12.6 µs936.8 µs5.10 ms81.05 ms5.68 ms5.31 ms6.1x faster
Fixture Load Github ActionszerodepPyYAML701.5 µs4.65 ms1.4K215.2684.5 µs1.03 ms14.8 µs712.0 µs4.59 ms5.11 ms52.1 µs4.73 ms6.6x faster
Fixture Load K8s DeploymentzerodepPyYAML1.77 ms11.27 ms566.588.81.67 ms2.11 ms81.2 µs1.87 ms11.14 ms11.62 ms83.2 µs11.40 ms6.4x faster
Load (Large)zerodepPyYAML4.36 ms30.84 ms229.632.44.21 ms7.78 ms420.1 µs5.00 ms28.36 ms104.52 ms12.82 ms29.46 ms7.1x faster
Load (Medium)zerodepPyYAML221.1 µs1.31 ms4.5K762.8215.9 µs395.1 µs6.7 µs228.5 µs1.27 ms2.36 ms114.4 µs1.49 ms5.9x faster
Load (Small)zerodepPyYAML33.6 µs190.1 µs29.7K5.3K32.6 µs84.8 µs1.8 µs34.5 µs183.2 µs303.7 µs6.1 µs197.8 µs5.7x faster
Scale Curvedump_zerodep[100B]PyYAML16.2 µs106.9 µs61.8K9.4K15.6 µs61.6 µs1.2 µs16.4 µs103.7 µs182.2 µs3.6 µs113.4 µs6.6x faster
Scale Curvedump_zerodep[100KB]PyYAML16.69 ms107.50 ms59.99.316.50 ms17.03 ms95.4 µs16.89 ms93.19 ms169.56 ms30.55 ms169.56 ms6.4x faster
Scale Curvedump_zerodep[10KB]PyYAML1.40 ms9.34 ms713.7107.11.38 ms1.72 ms22.7 µs1.43 ms9.21 ms9.90 ms90.9 µs9.42 ms6.7x faster
Scale Curvedump_zerodep[1KB]PyYAML145.5 µs914.8 µs6.9K1.1K141.8 µs244.5 µs4.8 µs152.7 µs893.9 µs996.4 µs11.3 µs930.9 µs6.3x faster
Scale Curvedump_zerodep[500B]PyYAML73.4 µs466.8 µs13.6K2.1K71.4 µs132.6 µs3.0 µs79.8 µs453.8 µs610.5 µs9.3 µs475.4 µs6.4x faster
Scale Curvedump_zerodep[500KB]PyYAML84.25 ms528.54 ms11.91.983.04 ms86.39 ms1.02 ms86.39 ms480.00 ms564.04 ms43.97 ms564.04 ms6.3x faster
Scale Curvedump_zerodep[50KB]PyYAML8.35 ms50.54 ms119.819.88.21 ms8.80 ms83.9 µs8.46 ms46.21 ms123.04 ms16.62 ms48.16 ms6.1x faster
Scale Curvedump_zerodep[5KB]PyYAML720.4 µs4.59 ms1.4K217.6699.9 µs1.33 ms22.6 µs731.6 µs4.53 ms4.69 ms27.9 µs4.65 ms6.4x faster
Scale Curveload_zerodep[100B]PyYAML29.8 µs164.1 µs33.5K6.1K28.9 µs76.6 µs1.7 µs32.2 µs159.1 µs337.7 µs5.6 µs171.1 µs5.5x faster
Scale Curveload_zerodep[100KB]PyYAML30.69 ms178.84 ms32.65.628.03 ms102.85 ms12.76 ms29.23 ms154.61 ms236.22 ms37.49 ms236.22 ms5.8x faster
Scale Curveload_zerodep[10KB]PyYAML2.73 ms16.60 ms365.760.22.70 ms2.92 ms29.7 µs2.79 ms15.16 ms91.93 ms9.64 ms15.66 ms6.1x faster
Scale Curveload_zerodep[1KB]PyYAML279.4 µs1.52 ms3.6K658.3273.0 µs488.8 µs7.6 µs286.8 µs1.49 ms2.07 ms28.0 µs1.55 ms5.4x faster
Scale Curveload_zerodep[500B]PyYAML155.0 µs756.4 µs6.5K1.3K151.5 µs220.9 µs4.2 µs161.8 µs737.7 µs974.0 µs14.8 µs773.0 µs4.9x faster
Scale Curveload_zerodep[500KB]PyYAML169.45 ms937.46 ms5.91.1146.05 ms224.97 ms37.40 ms224.97 ms876.81 ms977.47 ms51.99 ms977.47 ms5.5x faster
Scale Curveload_zerodep[50KB]PyYAML14.06 ms89.68 ms71.111.213.89 ms15.04 ms164.3 µs14.34 ms76.92 ms159.79 ms29.35 ms159.79 ms6.4x faster
Scale Curveload_zerodep[5KB]PyYAML1.41 ms7.64 ms709.4130.81.39 ms1.51 ms13.7 µs1.43 ms7.53 ms8.82 ms155.9 µs7.81 ms5.4x faster