zerodep Benchmark Report

Version: v2026.6.21  |  Commit: 46f37055  |  2026-06-21T14:06:20.573630+00:00

37
Modules
445
Comparisons
310
Faster than ref
30
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-protocol717.5 µs589.1 µs1.4K1.7K698.2 µs1.37 ms28.9 µs734.3 µs569.7 µs1.05 ms18.6 µs609.4 µs1.2x slower
Deserialize (Medium)zerodepa2a-protocol41.6 µs37.3 µs24.0K26.8K40.4 µs105.1 µs2.8 µs43.7 µs35.8 µs106.8 µs4.2 µs39.6 µs1.1x slower
Deserialize (Small)zerodepa2a-protocol2.0 µs1.2 µs510.2K850.8K1.9 µs35.5 µs515.7 ns2.0 µs1.1 µs44.4 µs399.0 ns1.2 µs1.7x slower
Json Round Trip (Large)zerodepa2a-protocol19.85 ms3.09 ms50.4323.53.04 ms4.091 s261.71 ms3.17 ms3.04 ms3.42 ms40.5 µs3.17 ms6.4x slower
Json Round Trip (Medium)zerodepa2a-protocol177.2 µs174.7 µs5.6K5.7K169.0 µs283.4 µs9.2 µs191.8 µs167.2 µs388.3 µs9.9 µs189.1 µs~equal
Json Round Trip (Small)zerodepa2a-protocol11.6 µs12.5 µs86.3K80.0K11.1 µs59.1 µs1.8 µs11.7 µs11.8 µs55.2 µs2.0 µs12.8 µs1.1x faster
Serialize (Large)zerodepa2a-protocol1.63 ms1.94 ms614.7515.91.60 ms2.00 ms35.7 µs1.65 ms1.89 ms4.04 ms119.5 µs1.97 ms1.2x faster
Serialize (Medium)zerodepa2a-protocol87.7 µs103.3 µs11.4K9.7K85.3 µs206.0 µs4.7 µs96.4 µs100.0 µs200.7 µs5.3 µs113.4 µs1.2x faster
Serialize (Small)zerodepa2a-protocol4.2 µs5.1 µs240.2K195.2K4.0 µs24.5 µs683.3 ns4.2 µs4.7 µs3.80 ms27.0 µs4.9 µs1.2x faster

acp

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Deserialize (Large)zerodepacp (ref)158.0 µs76.7 µs6.3K13.0K150.7 µs271.3 µs6.6 µs166.3 µs73.9 µs162.5 µs5.5 µs86.7 µs2.1x slower
Deserialize (Medium)zerodepacp (ref)6.0 µs59.3 µs166.2K16.9K5.8 µs63.1 µs926.2 ns6.0 µs56.9 µs156.8 µs5.1 µs72.0 µs9.9x faster
Deserialize (Small)zerodepacp (ref)1.8 µs1.7 µs565.3K583.3K1.7 µs30.0 µs456.7 ns1.8 µs1.6 µs28.4 µs507.6 ns1.7 µs~equal
Json Round Trip (Large)zerodepacp (ref)948.6 µs393.7 µs1.1K2.5K922.0 µs1.12 ms17.8 µs974.0 µs379.4 µs745.2 µs15.5 µs412.5 µs2.4x slower
Json Round Trip (Medium)zerodepacp (ref)89.4 µs86.3 µs11.2K11.6K85.7 µs198.8 µs6.6 µs104.1 µs82.4 µs166.7 µs7.0 µs101.5 µs~equal
Json Round Trip (Small)zerodepacp (ref)10.2 µs7.2 µs97.9K139.3K9.7 µs65.6 µs1.7 µs10.3 µs6.7 µs73.5 µs1.5 µs7.2 µs1.4x slower
Serialize (Large)zerodepacp (ref)528.5 µs73.5 µs1.9K13.6K507.7 µs1.16 ms44.9 µs544.3 µs71.1 µs167.7 µs5.1 µs83.6 µs7.2x slower
Serialize (Medium)zerodepacp (ref)62.9 µs12.6 µs15.9K79.4K61.1 µs149.5 µs4.4 µs72.4 µs12.1 µs43.4 µs1.4 µs12.6 µs5.0x slower
Serialize (Small)zerodepacp (ref)4.0 µs1.3 µs247.9K769.3K3.9 µs39.1 µs805.4 ns4.0 µs1.2 µs29.1 µs428.6 ns1.3 µs3.1x slower

aes

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Cbc Decrypt (Large)pure_pythonPyCryptodome350.64 ms135.2 µs2.97.4K348.90 ms352.87 ms1.78 ms352.87 ms131.3 µs233.4 µs6.1 µs147.2 µs2593.2x slower
Cbc Decrypt (Large)opensslPyCryptodome24.5 µs135.2 µs40.8K7.4K21.4 µs60.9 µs2.7 µs26.9 µs131.3 µs233.4 µs6.1 µs147.2 µs5.5x faster
Cbc Decrypt (Medium)pure_pythonPyCryptodome5.67 ms13.5 µs176.574.3K5.53 ms8.37 ms236.8 µs5.74 ms12.8 µs47.7 µs1.8 µs13.9 µs421.1x slower
Cbc Decrypt (Medium)opensslPyCryptodome7.7 µs13.5 µs130.4K74.3K7.4 µs41.6 µs1.3 µs7.7 µs12.8 µs47.7 µs1.8 µs13.9 µs1.8x faster
Cbc Decrypt (Small)pure_pythonPyCryptodome106.6 µs10.9 µs9.4K92.0K101.8 µs176.5 µs4.9 µs116.2 µs10.4 µs46.6 µs1.6 µs11.1 µs9.8x slower
Cbc Decrypt (Small)opensslPyCryptodome7.1 µs10.9 µs141.4K92.0K6.8 µs40.0 µs1.2 µs7.1 µs10.4 µs46.6 µs1.6 µs11.1 µs1.5x faster
Cbc Encrypt (Large)pure_pythonPyCryptodome258.16 ms133.6 µs3.97.5K256.33 ms260.34 ms1.76 ms260.34 ms130.1 µs213.8 µs5.6 µs144.7 µs1932.5x slower
Cbc Encrypt (Large)opensslPyCryptodome69.3 µs133.6 µs14.4K7.5K67.3 µs102.3 µs4.0 µs81.4 µs130.1 µs213.8 µs5.6 µs144.7 µs1.9x faster
Cbc Encrypt (Medium)pure_pythonPyCryptodome4.16 ms12.5 µs240.580.1K4.06 ms5.12 ms117.5 µs4.23 ms11.9 µs108.4 µs1.9 µs12.8 µs333.3x slower
Cbc Encrypt (Medium)opensslPyCryptodome8.5 µs12.5 µs117.7K80.1K8.1 µs48.7 µs1.6 µs8.5 µs11.9 µs108.4 µs1.9 µs12.8 µs1.5x faster
Cbc Encrypt (Small)pure_pythonPyCryptodome82.7 µs10.1 µs12.1K99.2K79.8 µs125.8 µs3.7 µs92.2 µs9.7 µs46.7 µs1.6 µs10.2 µs8.2x slower
Cbc Encrypt (Small)opensslPyCryptodome7.0 µs10.1 µs142.7K99.2K6.7 µs39.0 µs1.3 µs7.0 µs9.7 µs46.7 µs1.6 µs10.2 µs1.4x faster
Ctr Encrypt (Large)pure_pythonPyCryptodome258.20 ms96.5 µs3.910.4K254.17 ms261.36 ms2.84 ms261.36 ms90.1 µs191.6 µs7.3 µs108.3 µs2676.5x slower
Ctr Encrypt (Large)opensslPyCryptodome21.2 µs96.5 µs47.3K10.4K20.0 µs67.5 µs2.5 µs22.7 µs90.1 µs191.6 µs7.3 µs108.3 µs4.6x faster
Ctr Encrypt (Medium)pure_pythonPyCryptodome4.11 ms13.9 µs243.172.2K4.04 ms4.33 ms36.6 µs4.18 ms13.1 µs46.2 µs2.0 µs14.4 µs297.0x slower
Ctr Encrypt (Medium)opensslPyCryptodome8.4 µs13.9 µs119.7K72.2K8.0 µs65.4 µs1.5 µs8.4 µs13.1 µs46.2 µs2.0 µs14.4 µs1.7x faster
Ctr Encrypt (Small)pure_pythonPyCryptodome82.9 µs12.4 µs12.1K80.3K80.0 µs142.1 µs3.9 µs92.8 µs11.7 µs109.1 µs2.4 µs13.0 µs6.7x slower
Ctr Encrypt (Small)opensslPyCryptodome7.8 µs12.4 µs129.0K80.3K7.4 µs62.1 µs1.4 µs7.7 µs11.7 µs109.1 µs2.4 µs13.0 µs1.6x faster
Ecb Decrypt (Large)pure_pythonPyCryptodome341.02 ms22.3 µs2.944.8K339.18 ms343.87 ms1.75 ms343.87 ms21.0 µs66.8 µs2.8 µs25.0 µs15282.4x slower
Ecb Decrypt (Large)opensslPyCryptodome21.3 µs22.3 µs47.1K44.8K20.0 µs92.7 µs2.8 µs23.8 µs21.0 µs66.8 µs2.8 µs25.0 µs~equal
Ecb Decrypt (Medium)pure_pythonPyCryptodome5.51 ms9.9 µs181.4100.8K5.37 ms8.50 ms234.4 µs5.63 ms9.4 µs45.1 µs1.8 µs10.1 µs555.6x slower
Ecb Decrypt (Medium)opensslPyCryptodome8.7 µs9.9 µs115.3K100.8K7.0 µs82.9 µs3.9 µs15.3 µs9.4 µs45.1 µs1.8 µs10.1 µs1.1x faster
Ecb Decrypt (Small)pure_pythonPyCryptodome105.3 µs9.3 µs9.5K107.5K100.4 µs180.7 µs5.6 µs114.8 µs8.9 µs39.0 µs1.4 µs9.4 µs11.3x slower
Ecb Decrypt (Small)opensslPyCryptodome7.1 µs9.3 µs141.4K107.5K6.6 µs36.2 µs1.8 µs7.3 µs8.9 µs39.0 µs1.4 µs9.4 µs1.3x faster
Ecb Encrypt (Large)pure_pythonPyCryptodome250.88 ms20.9 µs4.047.8K249.83 ms251.60 ms765.3 µs251.60 ms19.8 µs61.7 µs2.5 µs23.2 µs11993.2x slower
Ecb Encrypt (Large)opensslPyCryptodome20.3 µs20.9 µs49.2K47.8K19.4 µs63.7 µs2.3 µs21.4 µs19.8 µs61.7 µs2.5 µs23.2 µs~equal
Ecb Encrypt (Medium)pure_pythonPyCryptodome4.01 ms9.2 µs249.3109.0K3.92 ms6.00 ms141.0 µs4.08 ms8.8 µs50.5 µs1.5 µs9.3 µs437.3x slower
Ecb Encrypt (Medium)opensslPyCryptodome7.5 µs9.2 µs133.0K109.0K7.2 µs43.4 µs1.4 µs7.5 µs8.8 µs50.5 µs1.5 µs9.3 µs1.2x faster
Ecb Encrypt (Small)pure_pythonPyCryptodome80.1 µs8.6 µs12.5K116.0K77.1 µs149.0 µs3.9 µs89.0 µs8.2 µs43.1 µs1.4 µs8.7 µs9.3x slower
Ecb Encrypt (Small)opensslPyCryptodome6.9 µs8.6 µs144.3K116.0K6.6 µs28.8 µs1.3 µs6.9 µs8.2 µs43.1 µs1.4 µs8.7 µs1.2x faster
Gcm Decrypt (Large)pure_pythonPyCryptodome370.80 ms171.0 µs2.75.8K369.87 ms373.12 ms1.32 ms373.12 ms162.5 µs321.5 µs10.3 µs186.5 µs2168.8x slower
Gcm Decrypt (Large)opensslPyCryptodome30.6 µs171.0 µs32.6K5.8K29.1 µs80.2 µs3.2 µs34.4 µs162.5 µs321.5 µs10.3 µs186.5 µs5.6x faster
Gcm Decrypt (Medium)pure_pythonPyCryptodome5.92 ms74.8 µs168.813.4K5.87 ms6.03 ms29.5 µs5.98 ms70.3 µs163.2 µs6.4 µs91.0 µs79.2x slower
Gcm Decrypt (Medium)opensslPyCryptodome10.2 µs74.8 µs97.7K13.4K9.8 µs108.3 µs1.7 µs10.3 µs70.3 µs163.2 µs6.4 µs91.0 µs7.3x faster
Gcm Decrypt (Small)pure_pythonPyCryptodome268.1 µs72.5 µs3.7K13.8K259.7 µs334.2 µs7.3 µs278.6 µs68.2 µs137.9 µs5.8 µs88.1 µs3.7x slower
Gcm Decrypt (Small)opensslPyCryptodome9.5 µs72.5 µs104.9K13.8K9.1 µs78.7 µs1.5 µs9.5 µs68.2 µs137.9 µs5.8 µs88.1 µs7.6x faster
Gcm Encrypt (Large)pure_pythonPyCryptodome369.78 ms154.6 µs2.76.5K367.93 ms371.42 ms1.25 ms371.42 ms147.1 µs312.9 µs10.7 µs169.9 µs2392.2x slower
Gcm Encrypt (Large)opensslPyCryptodome33.1 µs154.6 µs30.2K6.5K29.3 µs303.6 µs13.2 µs45.1 µs147.1 µs312.9 µs10.7 µs169.9 µs4.7x faster
Gcm Encrypt (Medium)pure_pythonPyCryptodome5.94 ms58.3 µs168.217.1K5.86 ms6.14 ms38.3 µs6.01 ms55.2 µs127.5 µs5.2 µs72.7 µs101.9x slower
Gcm Encrypt (Medium)opensslPyCryptodome10.4 µs58.3 µs95.8K17.1K10.1 µs41.8 µs1.4 µs10.4 µs55.2 µs127.5 µs5.2 µs72.7 µs5.6x faster
Gcm Encrypt (Small)pure_pythonPyCryptodome267.7 µs56.4 µs3.7K17.7K258.3 µs356.9 µs7.8 µs278.0 µs52.8 µs159.0 µs5.9 µs70.8 µs4.7x slower
Gcm Encrypt (Small)opensslPyCryptodome9.5 µs56.4 µs104.8K17.7K9.2 µs34.9 µs1.4 µs9.5 µs52.8 µs159.0 µs5.9 µs70.8 µs5.9x faster

cache

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Decorator Overheadzerodep_lrucachetools238.0 µs270.9 µs4.2K3.7K231.6 µs577.2 µs14.0 µs245.5 µs264.0 µs486.5 µs9.6 µs278.4 µs1.1x faster
Decorator Overheadzerodep_ttlcachetools312.9 µs307.0 µs3.2K3.3K301.6 µs554.8 µs20.3 µs320.7 µs297.0 µs415.3 µs8.5 µs316.5 µs~equal
Eviction Pressurezerodep_lfucachetools1.92 ms2.06 ms520.8486.41.75 ms2.25 ms25.7 µs1.95 ms2.03 ms2.33 ms30.2 µs2.11 ms1.1x faster
Eviction Pressurezerodep_lrucachetools1.76 ms1.92 ms568.7521.31.73 ms1.97 ms19.7 µs1.78 ms1.83 ms4.02 ms243.7 µs2.06 ms1.1x faster
Key Functionzerodep_hashkeycachetools660.2 µs666.5 µs1.5K1.5K643.1 µs800.1 µs11.6 µs668.6 µs640.8 µs845.4 µs12.4 µs676.8 µs~equal
Key Functionzerodep_typedkeycachetools1.31 ms1.69 ms764.4592.31.29 ms1.49 ms20.2 µs1.33 ms1.65 ms2.20 ms38.5 µs1.71 ms1.3x faster
LRUGet Setzerodepcachetools1.00 ms1.10 ms996.7906.0977.9 µs1.20 ms16.3 µs1.03 ms1.07 ms1.30 ms21.1 µs1.14 ms1.1x faster
Mixed Workloadzerodepcachetools838.3 µs921.3 µs1.2K1.1K817.5 µs941.6 µs12.9 µs855.6 µs895.0 µs1.24 ms21.8 µs941.8 µs1.1x faster
TTLExpiryzerodepcachetools3.51 ms3.53 ms284.8283.53.32 ms4.12 ms101.2 µs3.66 ms3.35 ms3.95 ms85.0 µs3.64 ms~equal
Threaded Contentionzerodepcachetools12.17 ms13.19 ms82.175.811.98 ms12.53 ms85.5 µs12.33 ms13.00 ms13.63 ms99.7 µs13.33 ms1.1x faster

cdp

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Command Throughputsend_command_burst6.85 ms146.05.53 ms7.81 ms665.8 µs7.38 ms
Full Render Pipelineget_rendered_text1.24 ms807.7977.2 µs1.72 ms174.9 µs1.47 ms
Full Render Pipelineget_rendered_text_fresh_client1.74 ms573.81.42 ms2.06 ms192.5 µs1.95 ms
Js Eval Throughputevaluate_burst1.76 ms569.51.44 ms2.09 ms207.7 µs1.98 ms
Multi Targetmulti_target_pipeline5.96 ms167.84.97 ms7.43 ms812.1 µs7.29 ms
Render Htmlget_rendered_html1.32 ms756.2972.8 µs2.38 ms157.4 µs1.50 ms

config

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Cast Boolzerodeppython-decouple1.3 µs2.5 µs777.3K405.4K1.2 µs27.3 µs383.0 ns1.3 µs2.3 µs53.0 µs671.6 ns2.5 µs1.9x faster
Cast Intzerodeppython-decouple1.2 µs2.2 µs817.2K446.6K1.1 µs34.1 µs448.7 ns1.2 µs2.1 µs56.4 µs624.7 ns2.3 µs1.8x faster
Csv Castzerodeppython-decouple2.8 µs12.5 µs362.8K80.1K2.6 µs70.7 µs757.9 ns2.8 µs11.7 µs77.6 µs2.2 µs12.6 µs4.5x faster
Dotenv Lookupzerodeppython-decouple726.3 ns1.6 µs1.38M609.0K687.7 ns3.3 µs69.8 ns736.9 ns1.5 µs37.5 µs462.4 ns1.7 µs2.3x faster
Env Lookupzerodeppython-decouple897.9 ns1.7 µs1.11M599.4K831.0 ns26.3 µs309.6 ns922.0 ns1.6 µs20.5 µs463.7 ns1.7 µs1.9x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Config Initzerodep_env_only579.5 ns1.73M541.0 ns10.4 µs165.1 ns574.6 ns
Config Initzerodep_with_dotenv1.16 ms865.01.09 ms6.15 ms416.5 µs1.24 ms
Config Initzerodep_with_json52.2 µs19.2K48.5 µs137.3 µs6.8 µs68.5 µs
Nested Json Lookupzerodep2.4 µs417.0K2.0 µs168.8 µs3.3 µs3.2 µs

diff

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Parse (Large)zerodepunidiff97.6 µs194.7 µs10.3K5.1K94.9 µs209.3 µs5.2 µs107.0 µs189.4 µs323.9 µs8.7 µs206.9 µs2.0x faster
Parse (Medium)zerodepunidiff32.4 µs63.4 µs30.9K15.8K30.7 µs286.5 µs7.3 µs41.0 µs61.6 µs143.4 µs4.3 µs73.8 µs2.0x faster
Parse (Small)zerodepunidiff10.5 µs22.2 µs95.4K45.1K10.1 µs49.0 µs1.3 µs10.5 µs21.4 µs89.4 µs2.4 µs22.6 µs2.1x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Apply (Large)zerodep60.2 µs16.6K58.0 µs131.2 µs4.2 µs70.2 µs
Apply (Medium)zerodep7.5 µs133.1K7.2 µs59.6 µs949.0 ns7.6 µs
Apply (Small)zerodep2.6 µs390.7K2.4 µs37.3 µs542.5 ns2.6 µs

dotenv

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Parse (Large)zerodeppython-dotenv1.39 ms1.38 ms721.3723.21.36 ms1.50 ms14.3 µs1.41 ms1.36 ms1.49 ms16.4 µs1.41 ms~equal
Parse (Medium)zerodeppython-dotenv193.8 µs194.6 µs5.2K5.1K187.7 µs285.3 µs6.8 µs204.3 µs188.1 µs287.7 µs7.3 µs205.9 µs~equal
Parse (Small)zerodeppython-dotenv27.9 µs27.8 µs35.9K36.0K27.0 µs66.5 µs2.2 µs28.2 µs26.9 µs76.8 µs2.5 µs27.9 µs~equal

frontmatter

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Parse (Large)zerodeppython-frontmatter458.6 µs458.4 µs2.2K2.2K444.9 µs571.5 µs9.7 µs469.4 µs442.4 µs627.2 µs11.2 µs468.7 µs~equal
Parse (Medium)zerodeppython-frontmatter92.0 µs88.5 µs10.9K11.3K87.1 µs331.2 µs13.2 µs101.4 µs85.3 µs180.7 µs4.5 µs98.6 µs~equal
Parse (Small)zerodeppython-frontmatter13.8 µs13.8 µs72.3K72.6K13.3 µs89.2 µs1.6 µs14.1 µs13.1 µs76.2 µs1.7 µs14.0 µs~equal
Serialize (Large)zerodeppython-frontmatter718.8 µs710.6 µs1.4K1.4K697.2 µs871.8 µs17.1 µs740.9 µs690.3 µs840.3 µs14.2 µs729.9 µs~equal
Serialize (Medium)zerodeppython-frontmatter158.2 µs157.8 µs6.3K6.3K150.5 µs493.9 µs14.3 µs172.6 µs150.6 µs278.2 µs8.3 µs171.9 µs~equal
Serialize (Small)zerodeppython-frontmatter25.5 µs25.4 µs39.2K39.4K23.4 µs116.7 µs2.9 µs27.6 µs23.7 µs76.7 µs2.7 µs27.2 µs~equal

httpclient

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Async Client Getzerodephttpx1.18 ms26.75 ms845.837.41.06 ms1.45 ms81.0 µs1.36 ms25.50 ms34.59 ms2.11 ms31.67 ms22.6x faster
Async File Uploadzerodephttpx1.49 ms28.23 ms669.035.41.31 ms1.80 ms77.5 µs1.64 ms26.18 ms33.24 ms1.91 ms31.54 ms18.9x faster
Async Getzerodephttpx1.17 ms28.32 ms851.735.31.03 ms1.54 ms91.8 µs1.36 ms25.84 ms33.24 ms2.01 ms32.36 ms24.1x faster
Async Post JSONzerodephttpx1.24 ms26.80 ms804.237.31.04 ms1.60 ms93.9 µs1.42 ms25.82 ms32.42 ms1.61 ms30.99 ms21.6x faster
Async Streamingzerodephttpx1.18 ms27.92 ms849.735.81.06 ms1.53 ms51.4 µs1.27 ms25.81 ms33.06 ms2.03 ms31.06 ms23.7x faster
Concurrent Async Getzerodep[N=10]httpx8.95 ms89.36 ms111.811.28.43 ms9.45 ms234.1 µs9.31 ms84.47 ms96.23 ms4.51 ms96.23 ms10.0x faster
Concurrent Async Getzerodep[N=50]httpx40.11 ms350.53 ms24.92.938.94 ms41.31 ms659.3 µs41.18 ms335.64 ms403.83 ms29.81 ms403.83 ms8.7x faster
Concurrent Async Postzerodephttpx9.72 ms90.46 ms102.911.19.18 ms11.00 ms256.6 µs10.08 ms85.73 ms99.66 ms3.86 ms99.66 ms9.3x faster
Connection Pool Reusezerodephttpx63.98 ms120.67 ms15.68.362.21 ms67.58 ms1.59 ms67.58 ms119.57 ms122.53 ms950.8 µs122.53 ms1.9x faster
Sync Client Getzerodephttpx655.2 µs1.04 ms1.5K957.4552.7 µs2.26 ms120.3 µs747.6 µs892.3 µs10.15 ms321.2 µs1.17 ms1.6x faster
Sync File Uploadzerodephttpx966.5 µs19.26 ms1.0K51.9847.8 µs2.74 ms78.9 µs1.03 ms18.47 ms25.37 ms1.45 ms24.38 ms19.9x faster
Sync Getzerodephttpx620.1 µs19.57 ms1.6K51.1541.9 µs881.1 µs48.9 µs713.7 µs18.04 ms27.19 ms2.27 ms24.77 ms31.6x faster
Sync Gzip Decompressionzerodephttpx648.4 µs18.99 ms1.5K52.7566.0 µs852.2 µs48.6 µs736.8 µs17.86 ms28.94 ms2.42 ms27.41 ms29.3x faster
Sync Post JSONzerodephttpx711.6 µs19.27 ms1.4K51.9592.6 µs1.45 ms54.1 µs819.0 µs18.06 ms30.26 ms2.87 ms29.40 ms27.1x faster
Sync Streamingzerodephttpx633.5 µs18.95 ms1.6K52.8550.1 µs969.4 µs31.8 µs686.5 µs18.02 ms29.10 ms2.39 ms26.69 ms29.9x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Async Socks5Getzerodep1.96 ms510.11.69 ms5.66 ms350.8 µs2.13 ms
Sync Socks5Getzerodep1.25 ms801.81.02 ms1.58 ms105.1 µs1.44 ms
Sync Socks5Post JSONzerodep41.99 ms23.841.68 ms42.31 ms109.9 µs42.07 ms
Sync Socks5Streamingzerodep1.25 ms801.21.05 ms1.62 ms115.3 µs1.46 ms

httpserver

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Concurrent Getzerodepflask8.47 ms9.98 ms118.1100.26.83 ms10.59 ms946.7 µs9.52 ms8.80 ms11.02 ms652.3 µs10.72 ms1.2x faster
Concurrent Getzerodepmicrodot8.47 ms10.39 ms118.196.36.83 ms10.59 ms946.7 µs9.52 ms8.54 ms13.72 ms2.01 ms13.43 ms1.2x faster
Concurrent Getzerodepbottle8.47 ms1.024 s118.11.06.83 ms10.59 ms946.7 µs9.52 ms1.023 s1.024 s642.6 µs1.024 s120.9x faster
Concurrent Postzerodepflask9.32 ms10.42 ms107.396.07.50 ms10.31 ms822.3 µs10.14 ms9.75 ms11.60 ms588.6 µs11.41 ms1.1x faster
Concurrent Postzerodepmicrodot9.32 ms9.49 ms107.3105.47.50 ms10.31 ms822.3 µs10.14 ms8.55 ms13.45 ms1.19 ms12.65 ms~equal
Concurrent Postzerodepbottle9.32 ms1.024 s107.31.07.50 ms10.31 ms822.3 µs10.14 ms1.024 s1.025 s355.5 µs1.025 s109.9x faster
Get JSONzerodepflask693.0 µs829.5 µs1.4K1.2K536.5 µs938.5 µs85.1 µs829.8 µs657.9 µs1.08 ms93.3 µs947.6 µs1.2x faster
Get JSONzerodepmicrodot693.0 µs744.6 µs1.4K1.3K536.5 µs938.5 µs85.1 µs829.8 µs583.9 µs1.29 ms110.2 µs942.6 µs1.1x faster
Get JSONzerodepbottle693.0 µs721.0 µs1.4K1.4K536.5 µs938.5 µs85.1 µs829.8 µs561.9 µs1.76 ms137.0 µs836.4 µs~equal
Get Textzerodepflask636.4 µs780.8 µs1.6K1.3K521.7 µs939.1 µs72.0 µs776.4 µs641.4 µs1.22 ms91.6 µs930.1 µs1.2x faster
Get Textzerodepmicrodot636.4 µs779.8 µs1.6K1.3K521.7 µs939.1 µs72.0 µs776.4 µs582.6 µs1.17 ms104.9 µs936.0 µs1.2x faster
Get Textzerodepbottle636.4 µs609.9 µs1.6K1.6K521.7 µs939.1 µs72.0 µs776.4 µs536.4 µs760.9 µs23.0 µs648.9 µs~equal
Large Payloadzerodepflask1.13 ms1.17 ms882.6853.8804.6 µs1.87 ms152.4 µs1.34 ms1.03 ms2.08 ms74.1 µs1.34 ms~equal
Large Payloadzerodepmicrodot1.13 ms1.02 ms882.6984.7804.6 µs1.87 ms152.4 µs1.34 ms832.5 µs1.54 ms97.6 µs1.18 ms1.1x slower
Large Payloadzerodepbottle1.13 ms984.1 µs882.61.0K804.6 µs1.87 ms152.4 µs1.34 ms817.7 µs1.51 ms93.0 µs1.18 ms1.2x slower
Post JSONzerodepflask690.3 µs886.1 µs1.4K1.1K539.1 µs1.69 ms128.8 µs851.1 µs750.9 µs1.40 ms86.7 µs1.08 ms1.3x faster
Post JSONzerodepmicrodot690.3 µs750.5 µs1.4K1.3K539.1 µs1.69 ms128.8 µs851.1 µs622.0 µs1.34 ms89.5 µs965.8 µs1.1x faster
Post JSONzerodepbottle690.3 µs767.5 µs1.4K1.3K539.1 µs1.69 ms128.8 µs851.1 µs571.0 µs1.03 ms107.6 µs931.3 µs1.1x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Sync Vs Async Handlerasync_handler657.7 µs1.5K497.1 µs1.02 ms87.1 µs823.6 µs
Sync Vs Async Handlersync_handler835.6 µs1.2K664.6 µs1.18 ms86.9 µs1.03 ms

jsonrpc

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Dispatch Batchzerodepjsonrpcserver142.5 µs2.78 ms7.0K359.6138.4 µs348.8 µs7.5 µs153.3 µs2.70 ms3.20 ms52.2 µs2.88 ms19.5x faster
Dispatch Errorzerodepjsonrpcserver9.7 µs135.9 µs102.6K7.4K9.2 µs59.1 µs1.7 µs9.9 µs127.5 µs262.7 µs10.9 µs157.5 µs13.9x faster
Dispatch Not Foundzerodepjsonrpcserver7.9 µs107.4 µs126.8K9.3K7.5 µs70.5 µs1.4 µs7.9 µs100.5 µs206.5 µs9.3 µs128.4 µs13.6x faster
Dispatch Successzerodepjsonrpcserver7.5 µs143.2 µs133.7K7.0K7.1 µs47.8 µs1.3 µs7.5 µs132.4 µs290.2 µs17.3 µs165.9 µs19.2x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Deserialize From Dictrequest_from_dict926.0 ns1.08M881.0 ns46.5 µs350.9 ns932.0 ns
Deserialize From Dictresponse_from_dict943.9 ns1.06M891.0 ns25.0 µs323.4 ns952.0 ns
Id Generationnext_id97.5 ns10.26M94.9 ns502.4 ns8.0 ns98.0 ns
Json Round Tripjson_round_trip6.5 µs154.9K6.1 µs61.6 µs1.3 µs6.5 µs
Serialize To Dictrequest_to_dict365.8 ns2.73M341.7 ns3.8 µs58.9 ns368.2 ns
Serialize To Dictresponse_to_dict452.5 ns2.21M420.0 ns20.4 µs214.9 ns461.0 ns

jsonschema

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Perf (Large)zerodepallof-merge (JS)255.7 µs828.2 µs3.9K1.2K245.2 µs521.3 µs10.9 µs270.7 µs661.5 µs3.47 ms274.7 µs1.42 ms3.2x faster
Perf (Medium)zerodepallof-merge (JS)86.5 µs379.9 µs11.6K2.6K82.2 µs182.6 µs5.1 µs98.0 µs296.3 µs1.02 ms84.7 µs542.5 µs4.4x faster
Perf (Small)zerodepallof-merge (JS)32.1 µs202.1 µs31.1K4.9K30.4 µs381.7 µs4.1 µs33.9 µs149.4 µs2.31 ms80.7 µs316.2 µs6.3x faster
Perf Tinyzerodepallof-merge (JS)18.3 µs190.8 µs54.7K5.2K17.3 µs76.5 µs1.9 µs18.7 µs126.9 µs1.08 ms74.6 µs292.6 µs10.4x faster
Perf Xlargezerodepallof-merge (JS)1.68 ms3.22 ms596.7310.71.64 ms1.95 ms28.7 µs1.72 ms3.04 ms5.75 ms287.7 µs3.50 ms1.9x faster

jsonx

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Fixture Load Eslint Configzerodepcommentjson844.6 µs60.40 ms1.2K16.6821.7 µs1.19 ms19.6 µs865.8 µs54.62 ms130.43 ms17.69 ms130.43 ms71.5x faster
Fixture Load Tsconfigzerodepcommentjson271.5 µs18.47 ms3.7K54.1263.9 µs469.0 µs10.5 µs281.5 µs16.58 ms94.05 ms10.38 ms17.54 ms68.0x faster
Fixture Load Vscode Settingszerodepcommentjson582.0 µs33.78 ms1.7K29.6565.5 µs800.6 µs13.5 µs600.4 µs31.21 ms98.03 ms11.73 ms32.32 ms58.0x faster
Jsonl (Large)zerodepjsonlines1.65 ms4.32 ms605.0231.71.44 ms70.55 ms3.47 ms1.53 ms3.41 ms78.24 ms7.78 ms3.58 ms2.6x faster
Jsonl (Large)zerodepndjson1.65 ms1.68 ms605.0593.81.44 ms70.55 ms3.47 ms1.53 ms1.42 ms73.16 ms3.98 ms1.50 ms~equal
Jsonl (Medium)zerodepjsonlines97.9 µs289.4 µs10.2K3.5K94.4 µs191.1 µs6.1 µs107.0 µs279.9 µs643.0 µs11.5 µs301.0 µs3.0x faster
Jsonl (Medium)zerodepndjson97.9 µs98.2 µs10.2K10.2K94.4 µs191.1 µs6.1 µs107.0 µs94.2 µs209.3 µs5.6 µs108.8 µs~equal
Jsonl (Small)zerodepjsonlines8.2 µs31.4 µs122.3K31.9K7.9 µs43.2 µs1.1 µs8.2 µs29.8 µs98.4 µs4.1 µs33.9 µs3.8x faster
Jsonl (Small)zerodepndjson8.2 µs10.6 µs122.3K94.3K7.9 µs43.2 µs1.1 µs8.2 µs10.2 µs52.7 µs1.4 µs10.8 µs1.3x faster
Load (Large)zerodepcommentjson1.94 ms223.88 ms516.64.51.91 ms2.36 ms30.3 µs1.97 ms198.32 ms278.15 ms38.35 ms278.15 ms115.7x faster
Load (Medium)zerodepcommentjson96.8 µs9.36 ms10.3K106.994.5 µs179.1 µs4.8 µs106.6 µs9.14 ms11.00 ms211.1 µs9.58 ms96.6x faster
Load (Small)zerodepcommentjson15.9 µs1.37 ms63.0K727.715.3 µs68.9 µs1.7 µs15.9 µs1.19 ms66.90 ms2.62 ms1.39 ms86.6x faster

llmstxt

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Candidate Urlszerodep13.2 µs75.7K12.7 µs43.1 µs1.4 µs13.3 µs
Parse (Large)zerodep1.25 ms802.31.21 ms1.35 ms25.5 µs1.30 ms
Parse (Medium)zerodep50.3 µs19.9K47.1 µs733.4 µs11.3 µs60.0 µs
Parse (Small)zerodep12.3 µs81.2K11.9 µs77.5 µs1.5 µs12.4 µs

markdown

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Render (Large)zerodepmistune6.41 ms10.20 ms156.198.06.27 ms8.79 ms264.5 µs6.63 ms9.98 ms10.73 ms115.7 µs10.37 ms1.6x faster
Render (Medium)zerodepmistune394.0 µs726.5 µs2.5K1.4K378.2 µs569.4 µs15.2 µs414.1 µs693.0 µs826.4 µs20.3 µs751.9 µs1.8x faster
Render (Small)zerodepmistune57.5 µs72.3 µs17.4K13.8K54.1 µs102.8 µs4.3 µs69.7 µs68.7 µs108.9 µs5.4 µs87.4 µs1.3x faster
Render GFMLargezerodepmistune7.21 ms16.57 ms138.760.37.12 ms7.60 ms69.0 µs7.34 ms12.30 ms321.68 ms35.23 ms12.95 ms2.3x faster
Render GFMMediumzerodepmistune363.3 µs705.9 µs2.8K1.4K347.8 µs491.6 µs12.4 µs379.0 µs672.8 µs1.07 ms34.2 µs745.1 µs1.9x faster

multipart

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Fixture Parse Form With Filezerodeppython_multipart60.3 µs114.6 µs16.6K8.7K56.4 µs155.7 µs5.5 µs72.7 µs107.9 µs549.7 µs12.9 µs127.3 µs1.9x faster
Fixture Parse Large Binaryzerodeppython_multipart98.2 µs130.3 µs10.2K7.7K93.8 µs171.9 µs6.3 µs111.6 µs123.8 µs250.3 µs8.0 µs144.5 µs1.3x faster
Fixture Parse Mixed Charsetszerodeppython_multipart42.5 µs86.7 µs23.5K11.5K39.9 µs155.4 µs4.3 µs48.4 µs81.4 µs201.1 µs9.0 µs99.7 µs2.0x faster
Parse (Large)zerodeppython_multipart462.7 µs336.7 µs2.2K3.0K438.9 µs1.07 ms45.2 µs488.5 µs321.2 µs582.9 µs14.6 µs358.7 µs1.4x slower
Parse (Medium)zerodeppython_multipart65.7 µs112.1 µs15.2K8.9K62.1 µs233.9 µs5.8 µs78.4 µs105.9 µs293.9 µs9.2 µs125.8 µs1.7x faster
Parse (Small)zerodeppython_multipart22.9 µs50.9 µs43.7K19.6K21.6 µs130.2 µs3.9 µs24.1 µs47.5 µs139.2 µs4.4 µs62.3 µs2.2x faster
Scale Curveparse_zerodep[100B]parse_python_multipart[100B]12.5 µs33.3 µs80.1K30.0K11.9 µs58.5 µs1.9 µs13.0 µs30.7 µs96.8 µs3.5 µs36.5 µs2.7x faster
Scale Curveparse_zerodep[500B]parse_python_multipart[500B]13.0 µs33.7 µs76.7K29.7K12.3 µs82.9 µs2.3 µs13.8 µs31.1 µs93.2 µs3.6 µs37.0 µs2.6x faster
Scale Curveparse_zerodep[1KB]parse_python_multipart[1KB]23.2 µs54.9 µs43.1K18.2K22.1 µs128.0 µs3.0 µs24.6 µs51.3 µs274.2 µs7.8 µs67.0 µs2.4x faster
Scale Curveparse_zerodep[5KB]parse_python_multipart[5KB]57.8 µs106.1 µs17.3K9.4K55.3 µs139.5 µs4.8 µs69.8 µs100.5 µs196.2 µs6.2 µs118.9 µs1.8x faster
Scale Curveparse_zerodep[10KB]parse_python_multipart[10KB]65.4 µs110.9 µs15.3K9.0K62.6 µs139.1 µs4.9 µs77.7 µs103.2 µs226.0 µs9.2 µs130.9 µs1.7x faster
Scale Curveparse_zerodep[50KB]parse_python_multipart[50KB]171.5 µs205.7 µs5.8K4.9K164.9 µs378.2 µs9.5 µs185.4 µs195.6 µs1.93 ms30.9 µs220.6 µs1.2x faster
Scale Curveparse_zerodep[100KB]parse_python_multipart[100KB]241.6 µs221.0 µs4.1K4.5K233.4 µs449.4 µs12.9 µs256.2 µs209.1 µs471.3 µs14.9 µs238.3 µs1.1x slower
Scale Curveparse_zerodep[500KB]parse_python_multipart[500KB]894.3 µs509.6 µs1.1K2.0K869.2 µs2.20 ms51.2 µs912.1 µs491.3 µs850.5 µs15.5 µs532.0 µs1.8x slower
Scale Curveencode_zerodep[100B]parse_python_multipart[100B]2.5 µs33.3 µs395.6K30.0K2.4 µs50.5 µs645.2 ns2.5 µs30.7 µs96.8 µs3.5 µs36.5 µs13.2x faster
Scale Curveencode_zerodep[500B]parse_python_multipart[500B]2.7 µs33.7 µs374.7K29.7K2.5 µs247.1 µs1.5 µs2.7 µs31.1 µs93.2 µs3.6 µs37.0 µs12.6x faster
Scale Curveencode_zerodep[1KB]parse_python_multipart[1KB]3.7 µs54.9 µs272.9K18.2K3.5 µs52.3 µs815.4 ns3.7 µs51.3 µs274.2 µs7.8 µs67.0 µs15.0x faster
Scale Curveencode_zerodep[5KB]parse_python_multipart[5KB]6.2 µs106.1 µs161.6K9.4K5.7 µs185.5 µs3.1 µs6.1 µs100.5 µs196.2 µs6.2 µs118.9 µs17.1x faster
Scale Curveencode_zerodep[10KB]parse_python_multipart[10KB]6.2 µs110.9 µs161.5K9.0K5.9 µs88.9 µs1.2 µs6.2 µs103.2 µs226.0 µs9.2 µs130.9 µs17.9x faster
Scale Curveencode_zerodep[50KB]parse_python_multipart[50KB]12.2 µs205.7 µs82.1K4.9K11.4 µs79.1 µs1.7 µs13.4 µs195.6 µs1.93 ms30.9 µs220.6 µs16.9x faster
Scale Curveencode_zerodep[100KB]parse_python_multipart[100KB]15.3 µs221.0 µs65.5K4.5K14.4 µs85.3 µs2.2 µs18.0 µs209.1 µs471.3 µs14.9 µs238.3 µs14.5x faster
Scale Curveencode_zerodep[500KB]parse_python_multipart[500KB]56.7 µs509.6 µs17.6K2.0K53.6 µs211.4 µs6.4 µs66.8 µs491.3 µs850.5 µs15.5 µs532.0 µs9.0x faster
Scale Curveroundtrip_zerodep[100B]parse_python_multipart[100B]15.6 µs33.3 µs64.2K30.0K14.1 µs1.95 ms15.2 µs16.7 µs30.7 µs96.8 µs3.5 µs36.5 µs2.1x faster
Scale Curveroundtrip_zerodep[500B]parse_python_multipart[500B]16.7 µs33.7 µs59.9K29.7K15.4 µs68.2 µs2.7 µs18.1 µs31.1 µs93.2 µs3.6 µs37.0 µs2.0x faster
Scale Curveroundtrip_zerodep[1KB]parse_python_multipart[1KB]29.3 µs54.9 µs34.1K18.2K27.0 µs116.5 µs3.9 µs32.6 µs51.3 µs274.2 µs7.8 µs67.0 µs1.9x faster
Scale Curveroundtrip_zerodep[5KB]parse_python_multipart[5KB]67.9 µs106.1 µs14.7K9.4K63.9 µs163.3 µs5.6 µs82.1 µs100.5 µs196.2 µs6.2 µs118.9 µs1.6x faster
Scale Curveroundtrip_zerodep[10KB]parse_python_multipart[10KB]75.5 µs110.9 µs13.2K9.0K71.2 µs156.2 µs6.4 µs90.1 µs103.2 µs226.0 µs9.2 µs130.9 µs1.5x faster
Scale Curveroundtrip_zerodep[50KB]parse_python_multipart[50KB]188.5 µs205.7 µs5.3K4.9K177.6 µs515.6 µs17.3 µs204.7 µs195.6 µs1.93 ms30.9 µs220.6 µs1.1x faster
Scale Curveroundtrip_zerodep[100KB]parse_python_multipart[100KB]265.1 µs221.0 µs3.8K4.5K253.9 µs419.9 µs11.2 µs282.2 µs209.1 µs471.3 µs14.9 µs238.3 µs1.2x slower
Scale Curveroundtrip_zerodep[500KB]parse_python_multipart[500KB]975.6 µs509.6 µs1.0K2.0K946.2 µs2.27 ms49.4 µs995.3 µs491.3 µs850.5 µs15.5 µs532.0 µs1.9x slower

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Encode (Large)zerodep46.0 µs21.7K35.3 µs125.4 µs6.4 µs57.9 µs
Encode (Medium)zerodep8.3 µs120.1K7.6 µs74.9 µs2.4 µs8.4 µs
Encode (Small)zerodep4.0 µs248.5K3.8 µs33.6 µs768.2 ns4.0 µs
Round Tripsmall26.8 µs37.3K24.9 µs85.2 µs3.4 µs29.0 µs
Round Tripmedium81.9 µs12.2K77.5 µs178.5 µs6.3 µs96.6 µs

persistdict

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Iterate (Small)zerodep_jsonshelve460.4 µs213.8 µs2.2K4.7K398.9 µs5.17 ms245.1 µs505.4 µs203.5 µs630.0 µs20.0 µs231.0 µs2.2x slower
Iterate (Small)zerodep_jsonsqlitedict460.4 µs1.38 ms2.2K726.6398.9 µs5.17 ms245.1 µs505.4 µs1.27 ms1.81 ms72.6 µs1.47 ms3.0x faster
Iterate (Small)zerodep_sqliteshelve883.1 µs213.8 µs1.1K4.7K847.8 µs1.13 ms19.0 µs913.7 µs203.5 µs630.0 µs20.0 µs231.0 µs4.1x slower
Iterate (Small)zerodep_sqlitesqlitedict883.1 µs1.38 ms1.1K726.6847.8 µs1.13 ms19.0 µs913.7 µs1.27 ms1.81 ms72.6 µs1.47 ms1.6x faster
Read (Small)zerodep_jsonshelve424.5 µs190.6 µs2.4K5.2K391.2 µs3.61 ms139.8 µs481.8 µs182.2 µs313.9 µs10.1 µs208.1 µs2.2x slower
Read (Small)zerodep_jsonsqlitedict424.5 µs10.40 ms2.4K96.2391.2 µs3.61 ms139.8 µs481.8 µs10.13 ms12.35 ms310.0 µs10.86 ms24.5x faster
Read (Small)zerodep_sqliteshelve850.5 µs190.6 µs1.2K5.2K810.8 µs1.12 ms24.5 µs884.7 µs182.2 µs313.9 µs10.1 µs208.1 µs4.5x slower
Read (Small)zerodep_sqlitesqlitedict850.5 µs10.40 ms1.2K96.2810.8 µs1.12 ms24.5 µs884.7 µs10.13 ms12.35 ms310.0 µs10.86 ms12.2x faster
Write (Large)zerodep_jsonshelve13.80 ms11.05 ms72.490.513.59 ms14.34 ms120.3 µs14.01 ms10.51 ms15.71 ms936.6 µs12.48 ms1.2x slower
Write (Large)zerodep_jsonsqlitedict13.80 ms806.32 ms72.41.213.59 ms14.34 ms120.3 µs14.01 ms735.45 ms910.72 ms75.15 ms910.72 ms58.4x faster
Write (Large)zerodep_sqliteshelve77.81 ms11.05 ms12.990.574.38 ms81.79 ms2.16 ms81.79 ms10.51 ms15.71 ms936.6 µs12.48 ms7.0x slower
Write (Large)zerodep_sqlitesqlitedict77.81 ms806.32 ms12.91.274.38 ms81.79 ms2.16 ms81.79 ms735.45 ms910.72 ms75.15 ms910.72 ms10.4x faster
Write (Large)zerodep_sqlite_batchedshelve22.71 ms11.05 ms44.090.521.57 ms27.55 ms1.38 ms25.50 ms10.51 ms15.71 ms936.6 µs12.48 ms2.1x slower
Write (Large)zerodep_sqlite_batchedsqlitedict22.71 ms806.32 ms44.01.221.57 ms27.55 ms1.38 ms25.50 ms735.45 ms910.72 ms75.15 ms910.72 ms35.5x faster
Write (Small)zerodep_jsonshelve433.4 µs397.9 µs2.3K2.5K401.5 µs2.13 ms50.8 µs496.9 µs371.2 µs425.6 µs17.0 µs425.6 µs1.1x slower
Write (Small)zerodep_jsonsqlitedict433.4 µs19.82 ms2.3K50.5401.5 µs2.13 ms50.8 µs496.9 µs18.97 ms24.19 ms1.10 ms22.46 ms45.7x faster
Write (Small)zerodep_sqliteshelve5.13 ms397.9 µs195.12.5K4.43 ms10.88 ms1.03 ms7.63 ms371.2 µs425.6 µs17.0 µs425.6 µs12.9x slower
Write (Small)zerodep_sqlitesqlitedict5.13 ms19.82 ms195.150.54.43 ms10.88 ms1.03 ms7.63 ms18.97 ms24.19 ms1.10 ms22.46 ms3.9x faster
Write (Small)zerodep_sqlite_batchedshelve3.65 ms397.9 µs274.12.5K2.74 ms38.37 ms2.34 ms7.18 ms371.2 µs425.6 µs17.0 µs425.6 µs9.2x slower
Write (Small)zerodep_sqlite_batchedsqlitedict3.65 ms19.82 ms274.150.52.74 ms38.37 ms2.34 ms7.18 ms18.97 ms24.19 ms1.10 ms22.46 ms5.4x faster

png

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Decode Bmp Medium RGBzerodeppillow624.8 µs99.9 µs1.6K10.0K604.8 µs832.9 µs15.0 µs642.9 µs94.2 µs168.3 µs6.3 µs114.1 µs6.3x slower
Decode Large RGBAzerodeppillow491.35 ms22.21 ms2.045.0487.72 ms495.65 ms3.16 ms495.65 ms22.08 ms22.39 ms88.5 µs22.36 ms22.1x slower
Decode Medium Grayzerodeppillow5.99 ms294.7 µs167.13.4K5.88 ms6.44 ms53.3 µs6.04 ms282.8 µs377.6 µs10.8 µs312.1 µs20.3x slower
Decode Medium RGBzerodeppillow23.43 ms1.02 ms42.7977.722.86 ms25.05 ms392.6 µs23.84 ms1.01 ms1.10 ms10.1 µs1.04 ms22.9x slower
Decode Medium RGBAzerodeppillow27.00 ms1.26 ms37.0794.526.63 ms28.13 ms370.0 µs28.02 ms1.24 ms1.63 ms32.0 µs1.28 ms21.5x slower
Decode Small RGBAzerodeppillow1.54 ms65.3 µs647.915.3K1.51 ms1.69 ms18.9 µs1.58 ms61.2 µs118.4 µs6.3 µs82.1 µs23.6x slower
Encode Bmp Medium RGBzerodeppillow597.1 µs87.5 µs1.7K11.4K574.3 µs866.3 µs12.6 µs609.2 µs83.0 µs177.4 µs6.0 µs100.8 µs6.8x slower
Encode Large RGBAzerodeppillow3.959 s176.00 ms0.35.73.796 s4.203 s211.75 ms4.203 s175.69 ms176.93 ms480.5 µs176.93 ms22.5x slower
Encode Medium RGBAzerodeppillow236.12 ms10.79 ms4.292.7234.83 ms238.06 ms1.31 ms238.06 ms10.72 ms10.98 ms38.2 µs10.85 ms21.9x slower
Encode Small RGBAzerodeppillow13.78 ms531.5 µs72.61.9K13.52 ms14.08 ms102.5 µs13.93 ms517.6 µs605.2 µs9.9 µs547.3 µs25.9x slower
Matrix Round Tripzerodep_encodepillow_encode87.48 ms2.55 ms11.4391.986.58 ms88.24 ms433.8 µs88.24 ms2.52 ms2.81 ms21.0 µs2.58 ms34.3x slower
Matrix Round Tripzerodep_encodepillow_decode87.48 ms283.3 µs11.43.5K86.58 ms88.24 ms433.8 µs88.24 ms267.9 µs399.0 µs14.2 µs309.9 µs308.8x slower
Matrix Round Tripzerodep_decodepillow_encode16.73 ms2.55 ms59.8391.916.48 ms17.37 ms146.9 µs17.00 ms2.52 ms2.81 ms21.0 µs2.58 ms6.6x slower
Matrix Round Tripzerodep_decodepillow_decode16.73 ms283.3 µs59.83.5K16.48 ms17.37 ms146.9 µs17.00 ms267.9 µs399.0 µs14.2 µs309.9 µs59.1x slower

protobuf

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Decode Comparisonzerodep_largegoogle (protobuf)332.9 µs4.6 µs3.0K215.7K325.5 µs359.4 µs6.7 µs343.4 µs4.4 µs68.4 µs1.1 µs4.6 µs71.8x slower
Decode Comparisonzerodep_mediumgoogle (protobuf)43.5 µs1.4 µs23.0K740.6K41.4 µs110.7 µs3.3 µs47.3 µs1.3 µs41.4 µs451.3 ns1.4 µs32.2x slower
Decode Comparisonzerodep_smallgoogle (protobuf)4.7 µs742.8 ns212.7K1.35M4.4 µs46.1 µs873.2 ns4.8 µs691.0 ns210.7 µs630.1 ns751.0 ns6.3x slower
Encode Comparisonzerodep_largegoogle (protobuf)127.7 µs2.4 µs7.8K414.7K121.8 µs240.4 µs6.5 µs138.8 µs2.3 µs49.7 µs515.1 ns2.4 µs52.9x slower
Encode Comparisonzerodep_mediumgoogle (protobuf)19.2 µs343.7 ns52.1K2.91M18.2 µs70.7 µs1.8 µs19.5 µs334.1 ns3.8 µs45.6 ns343.6 ns55.9x slower
Encode Comparisonzerodep_smallgoogle (protobuf)2.1 µs192.9 ns486.9K5.18M1.9 µs60.2 µs654.2 ns2.1 µs186.3 ns2.4 µs33.4 ns191.1 ns10.6x slower
Roundtrip Comparisonzerodep_largegoogle (protobuf)465.3 µs7.0 µs2.1K142.8K445.4 µs561.9 µs11.0 µs480.5 µs6.7 µs69.5 µs1.6 µs6.9 µs66.4x slower
Roundtrip Comparisonzerodep_mediumgoogle (protobuf)65.7 µs1.8 µs15.2K545.6K62.7 µs131.1 µs4.1 µs76.1 µs1.7 µs68.8 µs821.8 ns1.8 µs35.8x slower
Roundtrip Comparisonzerodep_smallgoogle (protobuf)6.6 µs1.1 µs150.9K938.0K6.2 µs69.5 µs1.5 µs6.7 µs1.0 µs69.0 µs514.0 ns1.1 µs6.2x slower
Scale Curvedecode_zerodep[100items]google (protobuf)41.2 µs1.2 µs24.3K869.2K39.4 µs112.5 µs3.1 µs44.1 µs1.1 µs16.3 µs233.2 ns1.1 µs35.8x slower
Scale Curvedecode_zerodep[10items]google (protobuf)10.3 µs859.7 ns96.7K1.16M9.8 µs57.8 µs1.4 µs10.4 µs801.0 ns123.6 µs612.4 ns862.0 ns12.0x slower
Scale Curvedecode_zerodep[10Kitems]google (protobuf)5.65 ms62.1 µs177.016.1K5.56 ms6.06 ms50.8 µs5.73 ms60.8 µs161.9 µs4.5 µs70.4 µs90.9x slower
Scale Curvedecode_zerodep[1Kitems]google (protobuf)537.5 µs6.7 µs1.9K149.9K520.6 µs750.7 µs12.4 µs549.7 µs6.4 µs58.2 µs1.2 µs6.8 µs80.6x slower
Scale Curvedecode_zerodep[500items]google (protobuf)256.5 µs3.9 µs3.9K255.8K246.2 µs464.0 µs11.9 µs267.0 µs3.8 µs61.7 µs957.8 ns3.8 µs65.6x slower
Scale Curvedecode_zerodep[50items]google (protobuf)23.9 µs929.8 ns41.9K1.08M22.6 µs71.6 µs2.1 µs24.4 µs895.0 ns11.6 µs191.5 ns923.3 ns25.7x slower
Scale Curvedecode_zerodep[50Kitems]google (protobuf)34.08 ms338.9 µs29.33.0K33.43 ms35.09 ms304.4 µs34.46 ms332.2 µs535.5 µs11.1 µs347.5 µs100.6x slower
Scale Curvedecode_zerodep[5Kitems]google (protobuf)2.82 ms31.5 µs354.731.8K2.78 ms3.13 ms28.9 µs2.87 ms30.8 µs114.8 µs3.3 µs31.9 µs89.6x slower
Scale Curveencode_zerodep[100items]google (protobuf)17.8 µs329.6 ns56.1K3.03M17.1 µs67.2 µs1.6 µs18.1 µs309.9 ns4.0 µs51.1 ns341.3 ns54.1x slower
Scale Curveencode_zerodep[10items]google (protobuf)5.5 µs242.4 ns181.5K4.13M5.1 µs113.1 µs1.2 µs5.6 µs236.1 ns2.9 µs35.2 ns241.9 ns22.7x slower
Scale Curveencode_zerodep[10Kitems]google (protobuf)1.98 ms73.3 µs504.413.6K1.93 ms2.45 ms30.9 µs2.02 ms72.3 µs139.8 µs3.5 µs81.6 µs27.0x slower
Scale Curveencode_zerodep[1Kitems]google (protobuf)195.7 µs7.1 µs5.1K141.4K187.8 µs376.0 µs12.9 µs204.3 µs6.9 µs88.4 µs1.0 µs7.1 µs27.7x slower
Scale Curveencode_zerodep[500items]google (protobuf)96.3 µs3.3 µs10.4K299.3K93.0 µs173.6 µs4.4 µs105.2 µs3.3 µs55.5 µs591.6 ns3.3 µs28.8x slower
Scale Curveencode_zerodep[50items]google (protobuf)11.1 µs269.2 ns90.4K3.71M10.5 µs55.0 µs1.3 µs11.2 µs262.1 ns2.7 µs38.6 ns268.4 ns41.1x slower
Scale Curveencode_zerodep[50Kitems]google (protobuf)13.43 ms404.7 µs74.52.5K13.26 ms13.76 ms85.5 µs13.62 ms395.9 µs578.6 µs9.8 µs414.7 µs33.2x slower
Scale Curveencode_zerodep[5Kitems]google (protobuf)992.5 µs36.7 µs1.0K27.3K960.1 µs1.51 ms22.9 µs1.01 ms36.0 µs89.2 µs2.2 µs36.8 µs27.1x slower

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Scale Curveroundtrip_zerodep[100items]60.4 µs16.6K57.5 µs148.1 µs4.2 µs70.6 µs
Scale Curveroundtrip_zerodep[10items]16.8 µs59.7K15.8 µs124.1 µs2.1 µs17.4 µs
Scale Curveroundtrip_zerodep[10Kitems]7.64 ms130.97.52 ms7.90 ms68.0 µs7.75 ms
Scale Curveroundtrip_zerodep[1Kitems]743.0 µs1.3K722.2 µs1.06 ms15.3 µs757.3 µs
Scale Curveroundtrip_zerodep[500items]362.4 µs2.8K350.0 µs3.39 ms63.3 µs371.2 µs
Scale Curveroundtrip_zerodep[50items]36.0 µs27.8K34.0 µs136.2 µs4.0 µs38.2 µs
Scale Curveroundtrip_zerodep[50Kitems]47.39 ms21.146.60 ms49.17 ms563.2 µs48.12 ms
Scale Curveroundtrip_zerodep[5Kitems]3.81 ms262.63.74 ms4.07 ms39.8 µs3.88 ms
test_decode_largedecode_large325.3 µs3.1K313.9 µs478.4 µs11.9 µs339.3 µs
test_decode_mediumdecode_medium44.0 µs22.7K41.5 µs103.1 µs3.2 µs47.5 µs
test_decode_smalldecode_small4.7 µs214.7K4.4 µs48.0 µs988.7 ns4.7 µs
test_encode_largeencode_large126.0 µs7.9K122.1 µs268.7 µs6.5 µs136.0 µs
test_encode_mediumencode_medium19.1 µs52.3K18.3 µs64.3 µs1.7 µs19.4 µs
test_encode_smallencode_small2.1 µs484.0K1.9 µs48.5 µs855.1 ns2.1 µs
test_from_dict_largefrom_dict_large180.5 µs5.5K173.8 µs409.5 µs12.1 µs191.4 µs
test_roundtrip_largeroundtrip_large459.6 µs2.2K444.5 µs571.7 µs13.3 µs476.0 µs
test_roundtrip_mediumroundtrip_medium65.4 µs15.3K62.2 µs164.4 µs4.7 µs75.6 µs
test_roundtrip_smallroundtrip_small6.9 µs144.6K6.4 µs45.8 µs1.4 µs7.0 µs
test_to_dict_largeto_dict_large105.1 µs9.5K102.0 µs215.4 µs5.5 µs114.2 µs

qr

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Encode Binaryzerodepqrcode34.31 ms43.04 ms29.123.233.82 ms34.75 ms255.6 µs34.73 ms42.76 ms45.13 ms504.5 µs43.17 ms1.3x faster
Encode High Ecczerodepqrcode6.49 ms6.11 ms154.2163.76.42 ms6.61 ms30.8 µs6.54 ms6.02 ms10.26 ms351.3 µs6.15 ms1.1x slower
Encode Large Datazerodepqrcode34.47 ms47.64 ms29.021.034.24 ms34.81 ms163.4 µs34.80 ms47.25 ms48.09 ms195.6 µs47.82 ms1.4x faster
Encode Longzerodepqrcode10.91 ms11.61 ms91.786.110.75 ms11.06 ms73.6 µs11.03 ms11.48 ms13.03 ms173.4 µs11.68 ms1.1x faster
Encode Numericzerodepqrcode4.25 ms4.00 ms235.2250.34.19 ms4.40 ms29.2 µs4.31 ms3.94 ms6.40 ms174.4 µs4.03 ms1.1x slower
Encode Shortzerodepqrcode2.33 ms1.80 ms428.6556.62.30 ms2.51 ms21.6 µs2.37 ms1.76 ms2.50 ms50.6 µs1.83 ms1.3x slower
Encode URLzerodepqrcode5.37 ms5.01 ms186.2199.75.29 ms5.84 ms55.7 µs5.44 ms4.95 ms5.95 ms95.1 µs5.07 ms1.1x slower

readability

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Largezerodepreadability-lxml34.85 ms26.51 ms28.737.733.63 ms36.00 ms649.0 µs35.79 ms25.25 ms27.95 ms696.1 µs27.64 ms1.3x slower
LargezerodepMozilla Readability.js34.85 ms721.24 ms28.71.433.63 ms36.00 ms649.0 µs35.79 ms620.86 ms1.013 s164.84 ms1.013 s20.7x faster
Mediumzerodepreadability-lxml2.83 ms3.31 ms353.2302.32.69 ms3.58 ms123.1 µs2.97 ms3.20 ms4.75 ms133.2 µs3.40 ms1.2x faster
MediumzerodepMozilla Readability.js2.83 ms29.83 ms353.233.52.69 ms3.58 ms123.1 µs2.97 ms20.00 ms53.77 ms8.57 ms53.77 ms10.5x faster
Smallzerodepreadability-lxml294.0 µs691.0 µs3.4K1.4K261.9 µs17.38 ms404.3 µs338.2 µs654.7 µs972.8 µs21.4 µs713.9 µs2.3x faster
SmallzerodepMozilla Readability.js294.0 µs17.16 ms3.4K58.3261.9 µs17.38 ms404.3 µs338.2 µs13.64 ms25.21 ms4.02 ms25.21 ms58.4x faster
Synthetic (Large)zerodepreadability-lxml5.34 ms13.14 ms187.176.15.12 ms7.68 ms406.5 µs6.47 ms12.87 ms13.82 ms164.9 µs13.38 ms2.5x faster
Synthetic (Large)zerodepMozilla Readability.js5.34 ms48.52 ms187.120.65.12 ms7.68 ms406.5 µs6.47 ms46.24 ms54.30 ms2.00 ms54.30 ms9.1x faster
Synthetic (Medium)zerodepreadability-lxml1.10 ms2.37 ms906.4421.11.04 ms1.91 ms114.7 µs1.19 ms2.31 ms2.92 ms57.3 µs2.46 ms2.2x faster
Synthetic (Medium)zerodepMozilla Readability.js1.10 ms14.65 ms906.468.21.04 ms1.91 ms114.7 µs1.19 ms11.15 ms27.10 ms2.81 ms18.25 ms13.3x faster
Synthetic (Small)zerodepreadability-lxml454.4 µs823.1 µs2.2K1.2K408.8 µs1.43 ms54.7 µs558.3 µs729.9 µs1.16 ms90.2 µs1.01 ms1.8x faster
Synthetic (Small)zerodepMozilla Readability.js454.4 µs10.48 ms2.2K95.4408.8 µs1.43 ms54.7 µs558.3 µs7.31 ms21.94 ms3.35 ms15.93 ms23.1x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Is Probably Readablezerodep1.68 ms596.71.54 ms2.86 ms207.3 µs1.76 ms

retry

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Backoff Calculationzerodeptenacity5.8 µs14.7 µs171.5K68.1K5.5 µs40.1 µs913.5 ns6.0 µs14.2 µs123.4 µs1.7 µs14.9 µs2.5x faster
Decorator Overheadzerodeptenacity525.0 ns19.6 µs1.90M51.1K497.1 ns7.0 µs109.6 ns532.4 ns16.5 µs329.7 µs12.1 µs21.4 µs37.3x faster
Retry With Failureszerodeptenacity248.4 µs323.3 µs4.0K3.1K230.8 µs282.2 µs3.1 µs252.7 µs267.7 µs528.1 µs15.8 µs331.1 µs1.3x faster

runner

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Env Passingzerodepsh11.90 ms71.86 ms84.013.911.56 ms12.49 ms184.8 µs12.26 ms70.79 ms72.70 ms626.5 µs72.70 ms6.0x faster
Env Passingzerodepsubprocess11.90 ms11.65 ms84.085.811.56 ms12.49 ms184.8 µs12.26 ms11.22 ms12.24 ms204.6 µs12.01 ms~equal
Output Capturezerodepsh11.64 ms71.41 ms85.914.011.15 ms12.50 ms255.5 µs12.00 ms70.79 ms71.93 ms434.8 µs71.93 ms6.1x faster
Output Capturezerodepsubprocess11.64 ms11.72 ms85.985.311.15 ms12.50 ms255.5 µs12.00 ms11.39 ms13.30 ms323.4 µs12.15 ms~equal
Simple Commandzerodepsh2.05 ms61.51 ms487.916.31.95 ms2.28 ms49.1 µs2.14 ms60.92 ms62.43 ms400.5 µs62.43 ms30.0x faster
Simple Commandzerodepsubprocess2.05 ms916.9 µs487.91.1K1.95 ms2.28 ms49.1 µs2.14 ms855.8 µs1.52 ms50.7 µs1.02 ms2.2x slower
Stdin Inputzerodepsh11.75 ms71.43 ms85.114.011.42 ms13.40 ms301.8 µs12.24 ms70.82 ms72.67 ms521.8 µs72.67 ms6.1x faster
Stdin Inputzerodepsubprocess11.75 ms11.91 ms85.184.011.42 ms13.40 ms301.8 µs12.24 ms11.36 ms16.15 ms695.6 µs12.42 ms~equal
Streaming Lineszerodepsh11.59 ms71.69 ms86.313.911.38 ms11.99 ms136.9 µs11.87 ms71.09 ms72.61 ms435.6 µs72.61 ms6.2x faster
Streaming Lineszerodepsubprocess11.59 ms11.55 ms86.386.611.38 ms11.99 ms136.9 µs11.87 ms11.18 ms13.02 ms279.4 µs11.90 ms~equal

scheduler

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Batch Next Fire Timezerodepcroniter689.4 µs4.47 ms1.5K223.8674.3 µs978.7 µs14.2 µs698.5 µs4.34 ms4.73 ms57.2 µs4.57 ms6.5x faster
Batch Next Fire TimezerodepAPScheduler689.4 µs1.01 ms1.5K993.8674.3 µs978.7 µs14.2 µs698.5 µs983.4 µs1.50 ms21.2 µs1.03 ms1.5x faster
Cron Parsingzerodepcroniter45.6 µs370.7 µs21.9K2.7K43.8 µs281.0 µs5.8 µs54.9 µs351.6 µs740.1 µs29.7 µs391.8 µs8.1x faster
Cron ParsingzerodepAPScheduler45.6 µs180.3 µs21.9K5.5K43.8 µs281.0 µs5.8 µs54.9 µs172.4 µs211.0 µs7.7 µs196.0 µs3.9x faster
Job Add Overheadzerodepschedule545.8 µs560.5 µs1.8K1.8K524.0 µs887.4 µs18.6 µs563.3 µs351.2 µs106.97 ms3.16 ms1.35 ms~equal
Next Fire Timezerodepcroniter54.0 µs697.3 µs18.5K1.4K52.1 µs118.4 µs3.3 µs62.7 µs661.8 µs850.5 µs22.3 µs729.0 µs12.9x faster
Next Fire TimezerodepAPScheduler54.0 µs135.5 µs18.5K7.4K52.1 µs118.4 µs3.3 µs62.7 µs128.5 µs247.4 µs8.5 µs150.0 µs2.5x faster

semver

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Comparezerodeppackaging3.3 µs3.7 µs300.8K266.9K3.2 µs28.1 µs554.1 ns3.4 µs3.6 µs42.1 µs658.0 ns3.8 µs1.1x faster
Parse Complexzerodeppackaging22.4 µs22.5 µs44.6K44.4K21.4 µs91.9 µs2.6 µs23.6 µs21.7 µs91.6 µs2.3 µs23.0 µs~equal
Parse Prereleasezerodeppackaging19.4 µs21.1 µs51.6K47.3K18.7 µs61.9 µs2.0 µs19.5 µs20.4 µs78.7 µs2.0 µs21.1 µs1.1x faster
Parse Simplezerodeppackaging13.7 µs5.9 µs72.9K168.5K13.1 µs148.6 µs1.7 µs13.8 µs5.6 µs61.2 µs918.7 ns6.0 µs2.3x slower
Property Accesszerodeppackaging1.2 µs9.4 µs812.4K106.6K1.2 µs18.6 µs352.7 ns1.3 µs8.9 µs61.9 µs1.2 µs9.4 µs7.6x faster
Sortzerodeppackaging1.7 µs1.9 µs592.1K528.3K1.6 µs51.1 µs434.1 ns1.7 µs1.8 µs45.2 µs471.5 ns1.9 µs1.1x faster

soup

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Fixture Parse Blog Postzerodepbeautifulsoup43.09 ms9.85 ms323.7101.52.86 ms4.45 ms414.9 µs4.33 ms8.47 ms110.48 ms9.65 ms10.15 ms3.2x faster
Fixture Parse Docs Pagezerodepbeautifulsoup44.90 ms14.19 ms204.170.54.10 ms101.93 ms6.68 ms5.50 ms12.38 ms104.63 ms10.46 ms14.00 ms2.9x faster
Fixture Parse Ecommercezerodepbeautifulsoup46.88 ms21.64 ms145.346.25.86 ms100.81 ms7.64 ms7.41 ms17.20 ms120.94 ms19.04 ms19.47 ms3.1x faster
Fixture Select Docs Pagezerodepbeautifulsoup45.95 ms23.34 ms168.142.85.08 ms99.91 ms7.12 ms6.49 ms20.69 ms113.93 ms13.82 ms22.33 ms3.9x faster
Fixture Select Ecommercezerodepbeautifulsoup47.72 ms31.83 ms129.531.47.34 ms9.33 ms557.6 µs8.98 ms27.95 ms130.71 ms17.48 ms29.78 ms4.1x faster
Fixture Serialize Blog Postzerodepbeautifulsoup43.58 ms11.99 ms278.983.42.95 ms96.35 ms5.45 ms4.44 ms11.53 ms13.63 ms591.4 µs13.16 ms3.3x faster
Fixture Serialize Ecommercezerodepbeautifulsoup47.44 ms29.48 ms134.433.96.22 ms110.01 ms8.63 ms7.96 ms24.06 ms126.46 ms20.90 ms25.81 ms4.0x faster
Largezerodepbeautifulsoup426.65 ms72.79 ms37.513.720.34 ms107.31 ms21.41 ms104.76 ms55.95 ms155.34 ms36.09 ms155.34 ms2.7x faster
Mediumzerodepbeautifulsoup42.25 ms6.56 ms444.6152.32.08 ms3.41 ms291.4 µs3.22 ms5.67 ms91.41 ms6.69 ms7.24 ms2.9x faster
Pseudo Select (Large)zerodepbeautifulsoup4103.11 ms119.42 ms9.78.492.53 ms187.87 ms28.14 ms187.87 ms108.55 ms211.16 ms32.24 ms211.16 ms1.2x faster
Pseudo Select (Medium)zerodepbeautifulsoup44.08 ms11.45 ms245.287.33.52 ms87.93 ms5.30 ms4.74 ms11.06 ms12.96 ms558.0 µs12.79 ms2.8x faster
Pseudo Select (Small)zerodepbeautifulsoup4435.8 µs1.59 ms2.3K630.5406.5 µs1.06 ms37.0 µs519.6 µs1.50 ms2.02 ms80.9 µs1.71 ms3.6x faster
Scale Curveparse_find_zerodep[5nodes]parse_find_bs4[5nodes]271.2 µs890.8 µs3.7K1.1K247.7 µs1.66 ms41.7 µs351.4 µs670.7 µs150.46 ms4.69 ms860.1 µs3.3x faster
Scale Curveparse_find_zerodep[5nodes]serialize_bs4[5nodes]271.2 µs1.22 ms3.7K821.0247.7 µs1.66 ms41.7 µs351.4 µs929.4 µs164.96 ms5.89 ms1.12 ms4.5x faster
Scale Curveparse_find_zerodep[5nodes]css_select_bs4[5nodes]271.2 µs1.23 ms3.7K810.9247.7 µs1.66 ms41.7 µs351.4 µs1.16 ms1.67 ms75.6 µs1.34 ms4.5x faster
Scale Curveparse_find_zerodep[25nodes]parse_find_bs4[25nodes]1.11 ms3.13 ms902.4319.11.04 ms1.70 ms105.7 µs1.17 ms2.88 ms6.42 ms452.5 µs4.44 ms2.8x faster
Scale Curveparse_find_zerodep[25nodes]serialize_bs4[25nodes]1.11 ms4.11 ms902.4243.11.04 ms1.70 ms105.7 µs1.17 ms3.81 ms6.56 ms524.9 µs5.70 ms3.7x faster
Scale Curveparse_find_zerodep[25nodes]css_select_bs4[25nodes]1.11 ms4.89 ms902.4204.41.04 ms1.70 ms105.7 µs1.17 ms4.64 ms6.67 ms412.1 µs6.19 ms4.4x faster
Scale Curveparse_find_zerodep[50nodes]parse_find_bs4[50nodes]2.21 ms6.56 ms452.2152.52.03 ms3.31 ms304.6 µs3.23 ms5.64 ms101.81 ms7.41 ms7.35 ms3.0x faster
Scale Curveparse_find_zerodep[50nodes]serialize_bs4[50nodes]2.21 ms7.99 ms452.2125.12.03 ms3.31 ms304.6 µs3.23 ms7.55 ms10.84 ms678.1 µs9.62 ms3.6x faster
Scale Curveparse_find_zerodep[50nodes]css_select_bs4[50nodes]2.21 ms9.29 ms452.2107.62.03 ms3.31 ms304.6 µs3.23 ms8.89 ms10.68 ms516.2 µs10.55 ms4.2x faster
Scale Curveparse_find_zerodep[250nodes]parse_find_bs4[250nodes]12.50 ms34.16 ms80.029.39.68 ms109.99 ms15.04 ms10.86 ms27.89 ms130.67 ms23.11 ms125.50 ms2.7x faster
Scale Curveparse_find_zerodep[250nodes]serialize_bs4[250nodes]12.50 ms45.61 ms80.021.99.68 ms109.99 ms15.04 ms10.86 ms36.75 ms141.87 ms27.76 ms137.88 ms3.6x faster
Scale Curveparse_find_zerodep[250nodes]css_select_bs4[250nodes]12.50 ms55.64 ms80.018.09.68 ms109.99 ms15.04 ms10.86 ms43.13 ms213.13 ms39.86 ms141.27 ms4.4x faster
Scale Curveparse_find_zerodep[500nodes]parse_find_bs4[500nodes]26.60 ms74.06 ms37.613.519.33 ms118.37 ms24.16 ms109.11 ms56.01 ms161.43 ms38.98 ms161.43 ms2.8x faster
Scale Curveparse_find_zerodep[500nodes]serialize_bs4[500nodes]26.60 ms91.49 ms37.610.919.33 ms118.37 ms24.16 ms109.11 ms72.56 ms192.14 ms43.55 ms192.14 ms3.4x faster
Scale Curveparse_find_zerodep[500nodes]css_select_bs4[500nodes]26.60 ms104.50 ms37.69.619.33 ms118.37 ms24.16 ms109.11 ms86.04 ms193.65 ms40.51 ms193.65 ms3.9x faster
Scale Curveparse_find_zerodep[2500nodes]parse_find_bs4[2500nodes]131.71 ms369.57 ms7.62.797.41 ms199.20 ms52.25 ms199.20 ms283.20 ms399.86 ms48.62 ms399.86 ms2.8x faster
Scale Curveparse_find_zerodep[2500nodes]serialize_bs4[2500nodes]131.71 ms445.65 ms7.62.297.41 ms199.20 ms52.25 ms199.20 ms371.51 ms506.78 ms67.42 ms506.78 ms3.4x faster
Scale Curveparse_find_zerodep[2500nodes]css_select_bs4[2500nodes]131.71 ms525.91 ms7.61.997.41 ms199.20 ms52.25 ms199.20 ms434.31 ms552.92 ms51.34 ms552.92 ms4.0x faster
Scale Curveparse_find_zerodep[5000nodes]parse_find_bs4[5000nodes]257.14 ms717.82 ms3.91.4196.52 ms301.52 ms49.33 ms301.52 ms678.85 ms776.39 ms48.30 ms776.39 ms2.8x faster
Scale Curveparse_find_zerodep[5000nodes]serialize_bs4[5000nodes]257.14 ms897.58 ms3.91.1196.52 ms301.52 ms49.33 ms301.52 ms857.33 ms955.80 ms53.02 ms955.80 ms3.5x faster
Scale Curveparse_find_zerodep[5000nodes]css_select_bs4[5000nodes]257.14 ms1.037 s3.91.0196.52 ms301.52 ms49.33 ms301.52 ms991.82 ms1.096 s51.13 ms1.096 s4.0x faster
Scale Curveparse_find_zerodep[25000nodes]parse_find_bs4[25000nodes]1.347 s3.614 s0.70.31.251 s1.443 s69.53 ms1.443 s3.541 s3.668 s46.19 ms3.668 s2.7x faster
Scale Curveparse_find_zerodep[25000nodes]serialize_bs4[25000nodes]1.347 s4.410 s0.70.21.251 s1.443 s69.53 ms1.443 s4.376 s4.437 s24.96 ms4.437 s3.3x faster
Scale Curveparse_find_zerodep[25000nodes]css_select_bs4[25000nodes]1.347 s5.188 s0.70.21.251 s1.443 s69.53 ms1.443 s5.037 s5.269 s88.81 ms5.269 s3.9x faster
Scale Curveserialize_zerodep[5nodes]parse_find_bs4[5nodes]288.0 µs890.8 µs3.5K1.1K264.5 µs650.3 µs32.8 µs362.9 µs670.7 µs150.46 ms4.69 ms860.1 µs3.1x faster
Scale Curveserialize_zerodep[5nodes]serialize_bs4[5nodes]288.0 µs1.22 ms3.5K821.0264.5 µs650.3 µs32.8 µs362.9 µs929.4 µs164.96 ms5.89 ms1.12 ms4.2x faster
Scale Curveserialize_zerodep[5nodes]css_select_bs4[5nodes]288.0 µs1.23 ms3.5K810.9264.5 µs650.3 µs32.8 µs362.9 µs1.16 ms1.67 ms75.6 µs1.34 ms4.3x faster
Scale Curveserialize_zerodep[25nodes]parse_find_bs4[25nodes]1.19 ms3.13 ms838.8319.11.10 ms1.91 ms109.6 µs1.26 ms2.88 ms6.42 ms452.5 µs4.44 ms2.6x faster
Scale Curveserialize_zerodep[25nodes]serialize_bs4[25nodes]1.19 ms4.11 ms838.8243.11.10 ms1.91 ms109.6 µs1.26 ms3.81 ms6.56 ms524.9 µs5.70 ms3.5x faster
Scale Curveserialize_zerodep[25nodes]css_select_bs4[25nodes]1.19 ms4.89 ms838.8204.41.10 ms1.91 ms109.6 µs1.26 ms4.64 ms6.67 ms412.1 µs6.19 ms4.1x faster
Scale Curveserialize_zerodep[50nodes]parse_find_bs4[50nodes]2.32 ms6.56 ms431.1152.52.15 ms3.55 ms292.4 µs3.30 ms5.64 ms101.81 ms7.41 ms7.35 ms2.8x faster
Scale Curveserialize_zerodep[50nodes]serialize_bs4[50nodes]2.32 ms7.99 ms431.1125.12.15 ms3.55 ms292.4 µs3.30 ms7.55 ms10.84 ms678.1 µs9.62 ms3.4x faster
Scale Curveserialize_zerodep[50nodes]css_select_bs4[50nodes]2.32 ms9.29 ms431.1107.62.15 ms3.55 ms292.4 µs3.30 ms8.89 ms10.68 ms516.2 µs10.55 ms4.0x faster
Scale Curveserialize_zerodep[250nodes]parse_find_bs4[250nodes]14.97 ms34.16 ms66.829.310.36 ms281.91 ms30.13 ms11.70 ms27.89 ms130.67 ms23.11 ms125.50 ms2.3x faster
Scale Curveserialize_zerodep[250nodes]serialize_bs4[250nodes]14.97 ms45.61 ms66.821.910.36 ms281.91 ms30.13 ms11.70 ms36.75 ms141.87 ms27.76 ms137.88 ms3.0x faster
Scale Curveserialize_zerodep[250nodes]css_select_bs4[250nodes]14.97 ms55.64 ms66.818.010.36 ms281.91 ms30.13 ms11.70 ms43.13 ms213.13 ms39.86 ms141.27 ms3.7x faster
Scale Curveserialize_zerodep[500nodes]parse_find_bs4[500nodes]27.61 ms74.06 ms36.213.520.77 ms121.07 ms24.30 ms115.27 ms56.01 ms161.43 ms38.98 ms161.43 ms2.7x faster
Scale Curveserialize_zerodep[500nodes]serialize_bs4[500nodes]27.61 ms91.49 ms36.210.920.77 ms121.07 ms24.30 ms115.27 ms72.56 ms192.14 ms43.55 ms192.14 ms3.3x faster
Scale Curveserialize_zerodep[500nodes]css_select_bs4[500nodes]27.61 ms104.50 ms36.29.620.77 ms121.07 ms24.30 ms115.27 ms86.04 ms193.65 ms40.51 ms193.65 ms3.8x faster
Scale Curveserialize_zerodep[2500nodes]parse_find_bs4[2500nodes]140.00 ms369.57 ms7.12.7106.28 ms216.51 ms50.22 ms216.51 ms283.20 ms399.86 ms48.62 ms399.86 ms2.6x faster
Scale Curveserialize_zerodep[2500nodes]serialize_bs4[2500nodes]140.00 ms445.65 ms7.12.2106.28 ms216.51 ms50.22 ms216.51 ms371.51 ms506.78 ms67.42 ms506.78 ms3.2x faster
Scale Curveserialize_zerodep[2500nodes]css_select_bs4[2500nodes]140.00 ms525.91 ms7.11.9106.28 ms216.51 ms50.22 ms216.51 ms434.31 ms552.92 ms51.34 ms552.92 ms3.8x faster
Scale Curveserialize_zerodep[5000nodes]parse_find_bs4[5000nodes]301.90 ms717.82 ms3.31.4212.15 ms332.79 ms50.41 ms332.79 ms678.85 ms776.39 ms48.30 ms776.39 ms2.4x faster
Scale Curveserialize_zerodep[5000nodes]serialize_bs4[5000nodes]301.90 ms897.58 ms3.31.1212.15 ms332.79 ms50.41 ms332.79 ms857.33 ms955.80 ms53.02 ms955.80 ms3.0x faster
Scale Curveserialize_zerodep[5000nodes]css_select_bs4[5000nodes]301.90 ms1.037 s3.31.0212.15 ms332.79 ms50.41 ms332.79 ms991.82 ms1.096 s51.13 ms1.096 s3.4x faster
Scale Curveserialize_zerodep[25000nodes]parse_find_bs4[25000nodes]1.450 s3.614 s0.70.31.345 s1.579 s93.35 ms1.579 s3.541 s3.668 s46.19 ms3.668 s2.5x faster
Scale Curveserialize_zerodep[25000nodes]serialize_bs4[25000nodes]1.450 s4.410 s0.70.21.345 s1.579 s93.35 ms1.579 s4.376 s4.437 s24.96 ms4.437 s3.0x faster
Scale Curveserialize_zerodep[25000nodes]css_select_bs4[25000nodes]1.450 s5.188 s0.70.21.345 s1.579 s93.35 ms1.579 s5.037 s5.269 s88.81 ms5.269 s3.6x faster
Scale Curvecss_select_zerodep[5nodes]parse_find_bs4[5nodes]361.2 µs890.8 µs2.8K1.1K335.3 µs675.1 µs33.6 µs439.3 µs670.7 µs150.46 ms4.69 ms860.1 µs2.5x faster
Scale Curvecss_select_zerodep[5nodes]serialize_bs4[5nodes]361.2 µs1.22 ms2.8K821.0335.3 µs675.1 µs33.6 µs439.3 µs929.4 µs164.96 ms5.89 ms1.12 ms3.4x faster
Scale Curvecss_select_zerodep[5nodes]css_select_bs4[5nodes]361.2 µs1.23 ms2.8K810.9335.3 µs675.1 µs33.6 µs439.3 µs1.16 ms1.67 ms75.6 µs1.34 ms3.4x faster
Scale Curvecss_select_zerodep[25nodes]parse_find_bs4[25nodes]1.40 ms3.13 ms713.0319.11.31 ms2.32 ms112.9 µs1.50 ms2.88 ms6.42 ms452.5 µs4.44 ms2.2x faster
Scale Curvecss_select_zerodep[25nodes]serialize_bs4[25nodes]1.40 ms4.11 ms713.0243.11.31 ms2.32 ms112.9 µs1.50 ms3.81 ms6.56 ms524.9 µs5.70 ms2.9x faster
Scale Curvecss_select_zerodep[25nodes]css_select_bs4[25nodes]1.40 ms4.89 ms713.0204.41.31 ms2.32 ms112.9 µs1.50 ms4.64 ms6.67 ms412.1 µs6.19 ms3.5x faster
Scale Curvecss_select_zerodep[50nodes]parse_find_bs4[50nodes]2.67 ms6.56 ms374.3152.52.48 ms3.92 ms290.7 µs3.63 ms5.64 ms101.81 ms7.41 ms7.35 ms2.5x faster
Scale Curvecss_select_zerodep[50nodes]serialize_bs4[50nodes]2.67 ms7.99 ms374.3125.12.48 ms3.92 ms290.7 µs3.63 ms7.55 ms10.84 ms678.1 µs9.62 ms3.0x faster
Scale Curvecss_select_zerodep[50nodes]css_select_bs4[50nodes]2.67 ms9.29 ms374.3107.62.48 ms3.92 ms290.7 µs3.63 ms8.89 ms10.68 ms516.2 µs10.55 ms3.5x faster
Scale Curvecss_select_zerodep[250nodes]parse_find_bs4[250nodes]12.50 ms34.16 ms80.029.312.00 ms13.54 ms375.3 µs13.06 ms27.89 ms130.67 ms23.11 ms125.50 ms2.7x faster
Scale Curvecss_select_zerodep[250nodes]serialize_bs4[250nodes]12.50 ms45.61 ms80.021.912.00 ms13.54 ms375.3 µs13.06 ms36.75 ms141.87 ms27.76 ms137.88 ms3.7x faster
Scale Curvecss_select_zerodep[250nodes]css_select_bs4[250nodes]12.50 ms55.64 ms80.018.012.00 ms13.54 ms375.3 µs13.06 ms43.13 ms213.13 ms39.86 ms141.27 ms4.5x faster
Scale Curvecss_select_zerodep[500nodes]parse_find_bs4[500nodes]36.80 ms74.06 ms27.213.524.01 ms331.06 ms51.73 ms115.15 ms56.01 ms161.43 ms38.98 ms161.43 ms2.0x faster
Scale Curvecss_select_zerodep[500nodes]serialize_bs4[500nodes]36.80 ms91.49 ms27.210.924.01 ms331.06 ms51.73 ms115.15 ms72.56 ms192.14 ms43.55 ms192.14 ms2.5x faster
Scale Curvecss_select_zerodep[500nodes]css_select_bs4[500nodes]36.80 ms104.50 ms27.29.624.01 ms331.06 ms51.73 ms115.15 ms86.04 ms193.65 ms40.51 ms193.65 ms2.8x faster
Scale Curvecss_select_zerodep[2500nodes]parse_find_bs4[2500nodes]163.65 ms369.57 ms6.12.7120.56 ms218.87 ms49.87 ms218.87 ms283.20 ms399.86 ms48.62 ms399.86 ms2.3x faster
Scale Curvecss_select_zerodep[2500nodes]serialize_bs4[2500nodes]163.65 ms445.65 ms6.12.2120.56 ms218.87 ms49.87 ms218.87 ms371.51 ms506.78 ms67.42 ms506.78 ms2.7x faster
Scale Curvecss_select_zerodep[2500nodes]css_select_bs4[2500nodes]163.65 ms525.91 ms6.11.9120.56 ms218.87 ms49.87 ms218.87 ms434.31 ms552.92 ms51.34 ms552.92 ms3.2x faster
Scale Curvecss_select_zerodep[5000nodes]parse_find_bs4[5000nodes]300.38 ms717.82 ms3.31.4241.85 ms342.32 ms52.17 ms342.32 ms678.85 ms776.39 ms48.30 ms776.39 ms2.4x faster
Scale Curvecss_select_zerodep[5000nodes]serialize_bs4[5000nodes]300.38 ms897.58 ms3.31.1241.85 ms342.32 ms52.17 ms342.32 ms857.33 ms955.80 ms53.02 ms955.80 ms3.0x faster
Scale Curvecss_select_zerodep[5000nodes]css_select_bs4[5000nodes]300.38 ms1.037 s3.31.0241.85 ms342.32 ms52.17 ms342.32 ms991.82 ms1.096 s51.13 ms1.096 s3.5x faster
Scale Curvecss_select_zerodep[25000nodes]parse_find_bs4[25000nodes]1.638 s3.614 s0.60.31.617 s1.664 s23.66 ms1.664 s3.541 s3.668 s46.19 ms3.668 s2.2x faster
Scale Curvecss_select_zerodep[25000nodes]serialize_bs4[25000nodes]1.638 s4.410 s0.60.21.617 s1.664 s23.66 ms1.664 s4.376 s4.437 s24.96 ms4.437 s2.7x faster
Scale Curvecss_select_zerodep[25000nodes]css_select_bs4[25000nodes]1.638 s5.188 s0.60.21.617 s1.664 s23.66 ms1.664 s5.037 s5.269 s88.81 ms5.269 s3.2x faster
Select (Large)zerodepbeautifulsoup431.17 ms104.26 ms32.19.623.61 ms118.10 ms24.84 ms116.89 ms85.25 ms192.21 ms40.45 ms192.21 ms3.3x faster
Select (Medium)zerodepbeautifulsoup42.70 ms9.24 ms370.2108.32.50 ms3.82 ms303.5 µs3.73 ms8.85 ms10.50 ms486.1 µs10.39 ms3.4x faster
Select (Small)zerodepbeautifulsoup4412.9 µs1.25 ms2.4K801.1333.1 µs97.17 ms2.21 ms444.7 µs1.17 ms2.84 ms109.7 µs1.36 ms3.0x faster
Serialize (Large)zerodepbeautifulsoup426.93 ms88.66 ms37.111.320.67 ms108.46 ms21.92 ms107.77 ms74.10 ms171.26 ms34.43 ms171.26 ms3.3x faster
Serialize (Medium)zerodepbeautifulsoup42.55 ms7.93 ms391.9126.02.12 ms95.21 ms4.73 ms3.23 ms7.61 ms9.38 ms499.6 µs9.09 ms3.1x faster
Serialize (Small)zerodepbeautifulsoup4287.6 µs998.8 µs3.5K1.0K263.6 µs789.9 µs32.9 µs363.6 µs925.3 µs1.49 ms76.7 µs1.11 ms3.5x faster
Smallzerodepbeautifulsoup4286.8 µs768.3 µs3.5K1.3K261.2 µs547.6 µs35.0 µs367.7 µs696.9 µs1.27 ms77.7 µs883.3 µs2.7x faster
Tree Ops (Large)zerodepbeautifulsoup428.12 ms73.82 ms35.613.520.56 ms123.17 ms24.77 ms109.30 ms60.45 ms162.58 ms33.66 ms162.58 ms2.6x faster
Tree Ops (Medium)zerodepbeautifulsoup42.40 ms6.60 ms416.0151.62.26 ms3.40 ms222.3 µs3.23 ms6.19 ms8.30 ms561.1 µs8.02 ms2.7x faster
Tree Ops (Small)zerodepbeautifulsoup4348.5 µs923.0 µs2.9K1.1K283.5 µs92.55 ms1.93 ms386.1 µs842.4 µs1.47 ms83.0 µs1.04 ms2.6x faster

sse

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Large Streamzerodephttpx3.02 ms2.27 ms331.4440.42.95 ms5.71 ms230.7 µs3.08 ms2.22 ms2.52 ms26.3 µs2.32 ms1.3x slower
Medium Streamzerodephttpx400.7 µs323.5 µs2.5K3.1K388.4 µs521.0 µs10.0 µs411.9 µs315.1 µs494.2 µs8.6 µs333.6 µs1.2x slower
Small Streamzerodephttpx31.1 µs23.1 µs32.2K43.3K29.4 µs131.2 µs2.6 µs31.5 µs22.2 µs85.1 µs1.9 µs23.1 µs1.3x slower

structlog

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Bind And Logzerodepstructlog11.8 µs23.6 µs84.6K42.4K11.1 µs101.7 µs2.3 µs11.9 µs20.9 µs861.4 µs11.9 µs27.3 µs2.0x faster
Bound Logzerodepstructlog12.1 µs24.4 µs82.6K41.0K11.4 µs53.1 µs2.1 µs12.4 µs19.3 µs126.1 µs9.8 µs49.4 µs2.0x faster
JSONRenderingzerodepstructlog9.6 µs13.0 µs104.3K76.6K9.1 µs42.3 µs1.6 µs9.6 µs11.0 µs89.9 µs5.3 µs25.1 µs1.4x faster
Simple Logzerodepstructlog10.5 µs14.1 µs95.3K70.9K9.8 µs47.4 µs1.9 µs10.7 µs12.8 µs109.9 µs3.6 µs15.1 µs1.3x faster

tabulate

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Large Tablezerodepreference6.75 ms27.92 ms148.135.86.11 ms77.06 ms6.10 ms6.32 ms27.81 ms28.15 ms79.1 µs28.08 ms4.1x faster
Medium Tablezerodepreference403.9 µs1.84 ms2.5K542.8391.1 µs519.5 µs9.6 µs416.9 µs1.81 ms2.31 ms39.2 µs1.89 ms4.6x faster
Small Tablezerodepreference53.5 µs172.6 µs18.7K5.8K51.0 µs107.3 µs3.8 µs64.6 µs165.0 µs247.2 µs9.9 µs192.0 µs3.2x faster

toon

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Decode Benchmarkdecode_large_oursdecode_large_ref2.24 ms2.35 ms446.9424.82.19 ms2.40 ms25.0 µs2.28 ms2.31 ms2.54 ms28.3 µs2.41 ms~equal
Decode Benchmarkdecode_medium_oursdecode_medium_ref333.0 µs351.7 µs3.0K2.8K322.2 µs425.9 µs9.4 µs345.1 µs340.0 µs542.3 µs11.3 µs365.9 µs1.1x faster
Decode Benchmarkdecode_small_oursdecode_small_ref20.2 µs23.1 µs49.4K43.2K19.5 µs63.9 µs2.0 µs20.6 µs21.9 µs65.2 µs2.3 µs24.2 µs1.1x faster
Encode Benchmarkencode_large_oursencode_large_ref1.30 ms1.70 ms767.8587.21.28 ms1.44 ms20.8 µs1.34 ms1.67 ms1.82 ms19.9 µs1.74 ms1.3x faster
Encode Benchmarkencode_medium_oursencode_medium_ref205.9 µs269.7 µs4.9K3.7K198.7 µs316.5 µs9.5 µs219.7 µs259.8 µs426.4 µs11.1 µs284.7 µs1.3x faster
Encode Benchmarkencode_small_oursencode_small_ref9.2 µs12.7 µs108.9K78.7K8.7 µs89.4 µs1.7 µs9.3 µs11.8 µs42.2 µs2.0 µs13.4 µs1.4x faster

useragent

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Generate Chrome Desktopzerodepua_generator5.2 µs12.4 µs190.7K80.5K4.1 µs223.4 µs6.1 µs5.5 µs10.6 µs85.2 µs1.8 µs13.4 µs2.4x faster
Generate Defaultzerodepua_generator5.8 µs13.7 µs173.6K73.2K4.5 µs1.03 ms9.1 µs5.9 µs8.9 µs62.0 µs3.0 µs17.9 µs2.4x faster
Generate Edge Mobilezerodepua_generator5.5 µs15.4 µs182.7K64.8K4.7 µs263.0 µs6.1 µs5.3 µs12.1 µs51.6 µs3.0 µs18.1 µs2.8x faster
Headers Getzerodepua_generator8.2 µs17.0 µs121.8K58.9K6.9 µs263.6 µs7.3 µs8.4 µs14.6 µs53.3 µs2.3 µs18.4 µs2.1x faster

validate

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Benchmark Constrainedourspydantic10.0 µs1.6 µs100.1K630.4K9.6 µs48.4 µs1.3 µs10.0 µs1.5 µs24.5 µs419.5 ns1.6 µs6.3x slower
Benchmark Json Schemaourspydantic11.5 µs196.2 µs86.6K5.1K9.4 µs242.4 µs9.1 µs14.9 µs172.5 µs2.16 ms72.9 µs264.4 µs17.0x faster
Benchmark List Of Dictsourspydantic232.4 µs32.8 µs4.3K30.5K224.4 µs370.7 µs8.4 µs242.7 µs31.7 µs138.3 µs3.2 µs33.0 µs7.1x slower
Benchmark Nestedourspydantic10.3 µs2.2 µs97.0K459.6K9.9 µs45.6 µs1.3 µs10.3 µs2.0 µs48.3 µs581.2 ns2.2 µs4.7x slower
Benchmark Simpleourspydantic5.7 µs1.5 µs174.9K668.8K5.5 µs27.9 µs824.7 ns5.7 µs1.4 µs28.2 µs415.4 ns1.5 µs3.8x slower

websocket

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Burst Messageszerodepwebsockets6.05 ms10.44 ms165.395.84.11 ms8.89 ms1.91 ms8.46 ms7.82 ms13.52 ms1.85 ms13.17 ms1.7x faster
Concurrent Messageszerodepwebsockets17.26 ms21.16 ms57.947.316.13 ms18.56 ms437.8 µs17.92 ms20.03 ms22.55 ms490.4 µs22.00 ms1.2x faster
Connection Setupzerodepwebsockets469.5 µs1.24 ms2.1K803.2403.5 µs773.3 µs50.4 µs587.4 µs1.11 ms2.14 ms100.0 µs1.45 ms2.7x faster
Json Rpc Roundtripzerodepwebsockets121.1 µs155.8 µs8.3K6.4K87.4 µs275.2 µs16.8 µs139.7 µs140.5 µs258.5 µs6.8 µs166.3 µs1.3x faster
Large Payloadzerodepwebsockets6.18 ms3.17 ms161.7315.15.82 ms8.43 ms278.5 µs6.50 ms3.07 ms4.02 ms88.8 µs3.28 ms1.9x slower

xml

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Parse (Large)zerodepxmltodict5.50 ms6.03 ms181.7165.95.39 ms5.78 ms66.2 µs5.63 ms5.82 ms9.39 ms439.3 µs6.31 ms1.1x faster
Parse (Medium)zerodepxmltodict403.4 µs453.5 µs2.5K2.2K387.8 µs571.6 µs12.8 µs420.1 µs436.9 µs847.6 µs16.3 µs468.5 µs1.1x faster
Parse (Small)zerodepxmltodict16.0 µs18.0 µs62.5K55.5K15.1 µs157.0 µs3.0 µs17.2 µs17.2 µs68.6 µs2.3 µs19.0 µs1.1x faster
Unparse (Large)zerodepxmltodict4.14 ms6.58 ms241.7151.94.08 ms4.54 ms46.4 µs4.21 ms6.50 ms6.94 ms55.0 µs6.67 ms1.6x faster
Unparse (Medium)zerodepxmltodict283.4 µs463.4 µs3.5K2.2K273.9 µs474.2 µs9.7 µs294.8 µs449.7 µs775.0 µs14.4 µs478.5 µs1.6x faster
Unparse (Small)zerodepxmltodict15.2 µs23.1 µs66.0K43.2K14.4 µs52.4 µs2.1 µs15.9 µs19.2 µs89.0 µs8.5 µs44.0 µs1.5x faster

Standalone benchmarks

OperationVariantMeanops/sMinMaxStdDevP95
Extract Tagsextract_all762.2 µs1.3K737.1 µs902.3 µs15.4 µs786.7 µs
Extract Tagsextract_filtered448.1 µs2.2K430.2 µs940.4 µs17.5 µs467.2 µs
Extract Tagsextract_first_only9.7 µs102.6K9.4 µs59.1 µs1.5 µs9.8 µs

yaml

OperationzerodepReferencezd meanRef meanzd ops/sRef ops/szerodep tail latencyRef tail latencyRatio
MinMaxStdDevP95MinMaxStdDevP95
Dump (Large)zerodepPyYAML2.60 ms21.97 ms385.045.52.55 ms3.70 ms82.2 µs2.66 ms20.24 ms84.20 ms9.28 ms20.95 ms8.5x faster
Dump (Medium)zerodepPyYAML122.1 µs995.3 µs8.2K1.0K118.3 µs190.1 µs5.5 µs132.5 µs961.5 µs1.21 ms19.9 µs1.02 ms8.2x faster
Dump (Small)zerodepPyYAML19.3 µs176.8 µs51.8K5.7K18.6 µs59.4 µs2.4 µs19.7 µs166.3 µs331.6 µs10.9 µs193.5 µs9.2x faster
Fixture Dump Docker ComposezerodepPyYAML10.9 µs97.0 µs91.7K10.3K10.5 µs51.4 µs1.3 µs11.0 µs92.1 µs188.1 µs6.4 µs111.3 µs8.9x faster
Fixture Dump Github ActionszerodepPyYAML530.7 µs3.45 ms1.9K289.5504.0 µs1.25 ms66.5 µs559.0 µs3.37 ms3.74 ms46.3 µs3.55 ms6.5x faster
Fixture Dump K8s DeploymentzerodepPyYAML245.8 µs1.94 ms4.1K515.7238.0 µs753.9 µs15.4 µs255.9 µs1.89 ms2.16 ms31.6 µs2.00 ms7.9x faster
Fixture Load Docker ComposezerodepPyYAML1.22 ms7.53 ms819.2132.81.20 ms1.62 ms23.9 µs1.25 ms7.42 ms7.82 ms63.1 µs7.66 ms6.2x faster
Fixture Load Github ActionszerodepPyYAML962.9 µs6.65 ms1.0K150.4900.7 µs1.30 ms51.9 µs1.03 ms6.55 ms6.96 ms56.5 µs6.76 ms6.9x faster
Fixture Load K8s DeploymentzerodepPyYAML2.26 ms16.49 ms442.160.62.22 ms3.31 ms71.3 µs2.30 ms16.29 ms17.17 ms136.4 µs16.76 ms7.3x faster
Load (Large)zerodepPyYAML6.28 ms43.97 ms159.222.76.21 ms6.53 ms48.8 µs6.36 ms40.80 ms107.37 ms13.51 ms42.20 ms7.0x faster
Load (Medium)zerodepPyYAML288.9 µs1.90 ms3.5K525.9278.4 µs632.7 µs18.3 µs303.7 µs1.86 ms2.32 ms31.9 µs1.95 ms6.6x faster
Load (Small)zerodepPyYAML44.1 µs295.3 µs22.7K3.4K42.7 µs102.7 µs3.3 µs47.0 µs281.2 µs407.7 µs12.6 µs312.8 µs6.7x faster
Scale Curvedump_zerodep[100B]PyYAML20.0 µs155.6 µs49.9K6.4K19.3 µs59.7 µs1.8 µs20.2 µs146.1 µs657.0 µs11.1 µs169.8 µs7.8x faster
Scale Curvedump_zerodep[100KB]PyYAML22.97 ms132.55 ms43.57.522.53 ms25.06 ms612.1 µs24.34 ms116.21 ms187.47 ms30.32 ms187.47 ms5.8x faster
Scale Curvedump_zerodep[10KB]PyYAML2.06 ms11.67 ms485.085.71.79 ms3.46 ms221.4 µs2.27 ms11.25 ms13.47 ms286.5 µs12.08 ms5.7x faster
Scale Curvedump_zerodep[1KB]PyYAML182.7 µs1.17 ms5.5K851.3177.3 µs444.8 µs9.9 µs191.1 µs1.13 ms2.45 ms60.5 µs1.22 ms6.4x faster
Scale Curvedump_zerodep[500B]PyYAML92.6 µs613.1 µs10.8K1.6K89.7 µs181.9 µs5.4 µs101.8 µs582.2 µs991.1 µs19.0 µs636.4 µs6.6x faster
Scale Curvedump_zerodep[500KB]PyYAML114.40 ms654.57 ms8.71.5113.47 ms115.03 ms482.4 µs115.03 ms597.42 ms674.75 ms32.41 ms674.75 ms5.7x faster
Scale Curvedump_zerodep[50KB]PyYAML9.08 ms59.11 ms110.116.99.01 ms9.32 ms53.1 µs9.18 ms58.10 ms62.48 ms1.08 ms62.48 ms6.5x faster
Scale Curvedump_zerodep[5KB]PyYAML919.9 µs5.78 ms1.1K173.1884.7 µs2.00 ms103.7 µs927.3 µs5.62 ms6.74 ms117.2 µs5.99 ms6.3x faster
Scale Curveload_zerodep[100B]PyYAML41.9 µs245.5 µs23.9K4.1K40.3 µs116.7 µs3.9 µs44.2 µs234.4 µs350.2 µs10.0 µs259.8 µs5.9x faster
Scale Curveload_zerodep[100KB]PyYAML39.69 ms232.37 ms25.24.336.43 ms100.48 ms12.16 ms39.44 ms216.07 ms285.54 ms29.78 ms285.54 ms5.9x faster
Scale Curveload_zerodep[10KB]PyYAML3.67 ms23.20 ms272.143.13.59 ms4.19 ms53.7 µs3.76 ms21.23 ms89.44 ms10.11 ms22.86 ms6.3x faster
Scale Curveload_zerodep[1KB]PyYAML397.2 µs2.12 ms2.5K471.3385.2 µs583.8 µs10.1 µs407.7 µs2.08 ms2.49 ms27.3 µs2.16 ms5.3x faster
Scale Curveload_zerodep[500B]PyYAML201.3 µs1.07 ms5.0K930.3193.2 µs306.4 µs6.5 µs210.1 µs1.05 ms1.20 ms17.5 µs1.10 ms5.3x faster
Scale Curveload_zerodep[500KB]PyYAML213.00 ms1.202 s4.70.8189.91 ms256.18 ms32.88 ms256.18 ms1.170 s1.240 s35.33 ms1.240 s5.6x faster
Scale Curveload_zerodep[50KB]PyYAML18.66 ms118.68 ms53.68.418.40 ms19.39 ms203.6 µs19.10 ms106.72 ms181.92 ms24.42 ms181.92 ms6.4x faster
Scale Curveload_zerodep[5KB]PyYAML1.87 ms10.74 ms534.093.11.75 ms3.16 ms144.3 µs2.04 ms10.53 ms13.85 ms354.3 µs11.03 ms5.7x faster