zerodep Benchmark Report

Version: v2026.5.2.1  |  Commit: 32293d98  |  2026-05-02T10:06:03.065183+00:00

36
Modules
283
Comparisons
172
Faster than ref
29
Similar
82
Slower than ref
a2a (9) acp (9) aes (42) cache (9) cdp (0) config (5) diff (3) dotenv (3) frontmatter (6) httpclient (11) httpserver (18) jsonc (3) jsonrpc (4) jsonschema (5) llmstxt (0) markdown (5) persistdict (20) png (14) protobuf (9) qr (7) readability (12) retry (3) runner (10) scheduler (7) semver (6) soup (15) sparse_search (7) sse (3) structlog (4) tabulate (3) toon (6) useragent (4) validate (5) websocket (4) xml (6) yaml (6)📈 History

a2a

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Deserialize (Large)zerodepa2a-protocol525.5 µs452.9 µs1.9K2.2K1.2x slower
Deserialize (Medium)zerodepa2a-protocol30.2 µs27.9 µs33.2K35.9K1.1x slower
Deserialize (Small)zerodepa2a-protocol1.5 µs874.0 ns674.3K1.14M1.7x slower
Json Round Trip (Large)zerodepa2a-protocol2.31 ms14.19 ms432.070.46.1x faster
Json Round Trip (Medium)zerodepa2a-protocol133.3 µs136.0 µs7.5K7.4K~equal
Json Round Trip (Small)zerodepa2a-protocol8.8 µs9.4 µs114.2K106.5K1.1x faster
Serialize (Large)zerodepa2a-protocol1.23 ms1.48 ms812.4676.01.2x faster
Serialize (Medium)zerodepa2a-protocol68.0 µs80.2 µs14.7K12.5K1.2x faster
Serialize (Small)zerodepa2a-protocol3.2 µs4.0 µs317.4K252.9K1.3x faster

acp

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Deserialize (Large)zerodepacp (ref)117.9 µs61.2 µs8.5K16.4K1.9x slower
Deserialize (Medium)zerodepacp (ref)4.6 µs43.1 µs217.7K23.2K9.4x faster
Deserialize (Small)zerodepacp (ref)1.4 µs1.4 µs729.5K732.5K~equal
Json Round Trip (Large)zerodepacp (ref)699.6 µs307.0 µs1.4K3.3K2.3x slower
Json Round Trip (Medium)zerodepacp (ref)66.6 µs61.2 µs15.0K16.3K1.1x slower
Json Round Trip (Small)zerodepacp (ref)7.6 µs5.2 µs132.2K192.7K1.5x slower
Serialize (Large)zerodepacp (ref)392.4 µs60.9 µs2.5K16.4K6.4x slower
Serialize (Medium)zerodepacp (ref)46.8 µs10.2 µs21.4K98.5K4.6x slower
Serialize (Small)zerodepacp (ref)3.0 µs974.4 ns330.5K1.03M3.1x slower

aes

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Cbc Decrypt (Large)pure_pythonPyCryptodome291.92 ms145.2 µs3.46.9K2009.8x slower
Cbc Decrypt (Large)opensslPyCryptodome19.3 µs145.2 µs51.7K6.9K7.5x faster
Cbc Decrypt (Medium)pure_pythonPyCryptodome4.66 ms10.8 µs214.792.5K430.8x slower
Cbc Decrypt (Medium)opensslPyCryptodome5.9 µs10.8 µs169.7K92.5K1.8x faster
Cbc Decrypt (Small)pure_pythonPyCryptodome84.4 µs8.2 µs11.8K122.0K10.3x slower
Cbc Decrypt (Small)opensslPyCryptodome5.4 µs8.2 µs185.1K122.0K1.5x faster
Cbc Encrypt (Large)pure_pythonPyCryptodome207.93 ms132.7 µs4.87.5K1566.8x slower
Cbc Encrypt (Large)opensslPyCryptodome55.9 µs132.7 µs17.9K7.5K2.4x faster
Cbc Encrypt (Medium)pure_pythonPyCryptodome3.37 ms10.3 µs296.397.5K329.0x slower
Cbc Encrypt (Medium)opensslPyCryptodome6.8 µs10.3 µs147.1K97.5K1.5x faster
Cbc Encrypt (Small)pure_pythonPyCryptodome68.8 µs7.8 µs14.5K128.8K8.9x slower
Cbc Encrypt (Small)opensslPyCryptodome5.4 µs7.8 µs186.1K128.8K1.4x faster
Ctr Encrypt (Large)pure_pythonPyCryptodome210.34 ms79.4 µs4.812.6K2650.4x slower
Ctr Encrypt (Large)opensslPyCryptodome16.2 µs79.4 µs61.6K12.6K4.9x faster
Ctr Encrypt (Medium)pure_pythonPyCryptodome3.28 ms10.4 µs304.696.3K316.0x slower
Ctr Encrypt (Medium)opensslPyCryptodome6.5 µs10.4 µs154.5K96.3K1.6x faster
Ctr Encrypt (Small)pure_pythonPyCryptodome68.0 µs9.2 µs14.7K108.8K7.4x slower
Ctr Encrypt (Small)opensslPyCryptodome6.0 µs9.2 µs167.0K108.8K1.5x faster
Ecb Decrypt (Large)pure_pythonPyCryptodome283.73 ms16.3 µs3.561.4K17422.8x slower
Ecb Decrypt (Large)opensslPyCryptodome19.6 µs16.3 µs51.1K61.4K1.2x slower
Ecb Decrypt (Medium)pure_pythonPyCryptodome4.47 ms7.5 µs223.5133.8K598.7x slower
Ecb Decrypt (Medium)opensslPyCryptodome5.8 µs7.5 µs173.1K133.8K1.3x faster
Ecb Decrypt (Small)pure_pythonPyCryptodome85.3 µs7.0 µs11.7K142.5K12.1x slower
Ecb Decrypt (Small)opensslPyCryptodome5.4 µs7.0 µs186.1K142.5K1.3x faster
Ecb Encrypt (Large)pure_pythonPyCryptodome204.56 ms16.8 µs4.959.7K12209.1x slower
Ecb Encrypt (Large)opensslPyCryptodome16.3 µs16.8 µs61.3K59.7K~equal
Ecb Encrypt (Medium)pure_pythonPyCryptodome3.22 ms7.0 µs310.8143.1K460.4x slower
Ecb Encrypt (Medium)opensslPyCryptodome5.8 µs7.0 µs172.3K143.1K1.2x faster
Ecb Encrypt (Small)pure_pythonPyCryptodome64.1 µs6.5 µs15.6K153.6K9.8x slower
Ecb Encrypt (Small)opensslPyCryptodome5.2 µs6.5 µs190.8K153.6K1.2x faster
Gcm Decrypt (Large)pure_pythonPyCryptodome302.70 ms127.1 µs3.37.9K2382.5x slower
Gcm Decrypt (Large)opensslPyCryptodome15.9 µs127.1 µs62.7K7.9K8.0x faster
Gcm Decrypt (Medium)pure_pythonPyCryptodome4.94 ms48.4 µs202.620.6K101.9x slower
Gcm Decrypt (Medium)opensslPyCryptodome7.9 µs48.4 µs126.3K20.6K6.1x faster
Gcm Decrypt (Small)pure_pythonPyCryptodome215.5 µs47.4 µs4.6K21.1K4.5x slower
Gcm Decrypt (Small)opensslPyCryptodome7.2 µs47.4 µs138.5K21.1K6.6x faster
Gcm Encrypt (Large)pure_pythonPyCryptodome297.13 ms116.4 µs3.48.6K2552.9x slower
Gcm Encrypt (Large)opensslPyCryptodome16.1 µs116.4 µs62.2K8.6K7.2x faster
Gcm Encrypt (Medium)pure_pythonPyCryptodome4.84 ms37.7 µs206.726.6K128.4x slower
Gcm Encrypt (Medium)opensslPyCryptodome8.0 µs37.7 µs125.5K26.6K4.7x faster
Gcm Encrypt (Small)pure_pythonPyCryptodome210.0 µs36.9 µs4.8K27.1K5.7x slower
Gcm Encrypt (Small)opensslPyCryptodome7.5 µs36.9 µs134.1K27.1K4.9x faster

cache

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Decorator Overheadzerodep_lrucachetools170.9 µs201.8 µs5.8K5.0K1.2x faster
Decorator Overheadzerodep_ttlcachetools226.5 µs227.7 µs4.4K4.4K~equal
Eviction Pressurezerodep_lfucachetools1.47 ms1.51 ms678.9662.6~equal
Eviction Pressurezerodep_lrucachetools1.34 ms1.46 ms748.9684.61.1x faster
Key Functionzerodep_hashkeycachetools478.2 µs486.9 µs2.1K2.1K~equal
Key Functionzerodep_typedkeycachetools971.6 µs1.26 ms1.0K793.11.3x faster
LRUGet Setzerodepcachetools743.5 µs821.1 µs1.3K1.2K1.1x faster
Mixed Workloadzerodepcachetools619.8 µs683.0 µs1.6K1.5K1.1x faster
TTLExpiryzerodepcachetools3.05 ms3.05 ms328.1328.2~equal

cdp

Standalone benchmarks

OperationVariantMeanops/s
Command Throughputsend_command_burst3.63 ms275.6
Full Render Pipelineget_rendered_text694.9 µs1.4K
Full Render Pipelineget_rendered_text_fresh_client906.4 µs1.1K
Js Eval Throughputevaluate_burst1.01 ms985.4
Multi Targetmulti_target_pipeline3.75 ms267.0
Render Htmlget_rendered_html766.9 µs1.3K

config

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Cast Boolzerodeppython-decouple1.1 µs2.1 µs904.1K484.5K1.9x faster
Cast Intzerodeppython-decouple1.0 µs1.9 µs984.6K530.5K1.9x faster
Csv Castzerodeppython-decouple2.2 µs9.8 µs463.4K101.8K4.6x faster
Dotenv Lookupzerodeppython-decouple542.4 ns1.3 µs1.84M760.7K2.4x faster
Env Lookupzerodeppython-decouple683.0 ns1.3 µs1.46M760.7K1.9x faster

Standalone benchmarks

OperationVariantMeanops/s
Config Initzerodep_env_only446.8 ns2.24M
Config Initzerodep_with_dotenv762.3 µs1.3K
Config Initzerodep_with_json34.5 µs29.0K
Nested Json Lookupzerodep1.7 µs579.2K

diff

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Parse (Large)zerodepunidiff72.6 µs159.8 µs13.8K6.3K2.2x faster
Parse (Medium)zerodepunidiff24.6 µs52.2 µs40.7K19.1K2.1x faster
Parse (Small)zerodepunidiff8.0 µs18.0 µs125.0K55.6K2.2x faster

Standalone benchmarks

OperationVariantMeanops/s
Apply (Large)zerodep48.3 µs20.7K
Apply (Medium)zerodep5.8 µs171.2K
Apply (Small)zerodep2.0 µs507.1K

dotenv

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Parse (Large)zerodeppython-dotenv1.09 ms1.08 ms918.8925.5~equal
Parse (Medium)zerodeppython-dotenv153.9 µs153.6 µs6.5K6.5K~equal
Parse (Small)zerodeppython-dotenv21.6 µs21.6 µs46.2K46.3K~equal

frontmatter

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Parse (Large)zerodeppython-frontmatter351.3 µs352.4 µs2.8K2.8K~equal
Parse (Medium)zerodeppython-frontmatter68.7 µs68.5 µs14.6K14.6K~equal
Parse (Small)zerodeppython-frontmatter10.6 µs10.7 µs94.8K93.6K~equal
Serialize (Large)zerodeppython-frontmatter532.8 µs533.4 µs1.9K1.9K~equal
Serialize (Medium)zerodeppython-frontmatter112.9 µs113.4 µs8.9K8.8K~equal
Serialize (Small)zerodeppython-frontmatter18.2 µs18.2 µs54.8K55.0K~equal

httpclient

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Async Client Getzerodephttpx826.7 µs20.76 ms1.2K48.225.1x faster
Async File Uploadzerodephttpx1.09 ms21.92 ms913.545.620.0x faster
Async Getzerodephttpx789.7 µs20.94 ms1.3K47.826.5x faster
Async Post JSONzerodephttpx877.1 µs21.23 ms1.1K47.124.2x faster
Async Streamingzerodephttpx849.9 µs20.95 ms1.2K47.724.6x faster
Sync Client Getzerodephttpx467.4 µs867.8 µs2.1K1.2K1.9x faster
Sync File Uploadzerodephttpx725.9 µs15.25 ms1.4K65.621.0x faster
Sync Getzerodephttpx449.3 µs15.42 ms2.2K64.934.3x faster
Sync Gzip Decompressionzerodephttpx472.1 µs15.00 ms2.1K66.731.8x faster
Sync Post JSONzerodephttpx505.7 µs15.55 ms2.0K64.330.7x faster
Sync Streamingzerodephttpx454.7 µs14.78 ms2.2K67.732.5x faster

httpserver

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Concurrent Getzerodepflask5.63 ms6.59 ms177.5151.71.2x faster
Concurrent Getzerodepmicrodot5.63 ms5.58 ms177.5179.2~equal
Concurrent Getzerodepbottle5.63 ms1.024 s177.51.0181.8x faster
Concurrent Postzerodepflask5.77 ms6.98 ms173.3143.31.2x faster
Concurrent Postzerodepmicrodot5.77 ms5.97 ms173.3167.5~equal
Concurrent Postzerodepbottle5.77 ms1.024 s173.31.0177.5x faster
Get JSONzerodepflask424.6 µs564.7 µs2.4K1.8K1.3x faster
Get JSONzerodepmicrodot424.6 µs497.2 µs2.4K2.0K1.2x faster
Get JSONzerodepbottle424.6 µs422.5 µs2.4K2.4K~equal
Get Textzerodepflask474.1 µs546.6 µs2.1K1.8K1.2x faster
Get Textzerodepmicrodot474.1 µs451.4 µs2.1K2.2K1.1x slower
Get Textzerodepbottle474.1 µs429.2 µs2.1K2.3K1.1x slower
Large Payloadzerodepflask710.5 µs913.6 µs1.4K1.1K1.3x faster
Large Payloadzerodepmicrodot710.5 µs728.4 µs1.4K1.4K~equal
Large Payloadzerodepbottle710.5 µs757.1 µs1.4K1.3K1.1x faster
Post JSONzerodepflask479.5 µs629.2 µs2.1K1.6K1.3x faster
Post JSONzerodepmicrodot479.5 µs495.3 µs2.1K2.0K~equal
Post JSONzerodepbottle479.5 µs515.1 µs2.1K1.9K1.1x faster

Standalone benchmarks

OperationVariantMeanops/s
Sync Vs Async Handlerasync_handler398.2 µs2.5K
Sync Vs Async Handlersync_handler494.7 µs2.0K

jsonc

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Load (Large)zerodepcommentjson1.45 ms164.43 ms691.96.1113.8x faster
Load (Medium)zerodepcommentjson72.7 µs6.35 ms13.8K157.487.4x faster
Load (Small)zerodepcommentjson11.8 µs928.3 µs84.6K1.1K78.5x faster

jsonrpc

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Dispatch Batchzerodepjsonrpcserver109.3 µs1.51 ms9.1K661.513.8x faster
Dispatch Errorzerodepjsonrpcserver7.4 µs75.4 µs134.6K13.3K10.1x faster
Dispatch Not Foundzerodepjsonrpcserver6.2 µs58.0 µs161.0K17.2K9.3x faster
Dispatch Successzerodepjsonrpcserver5.7 µs78.0 µs176.2K12.8K13.7x faster

Standalone benchmarks

OperationVariantMeanops/s
Deserialize From Dictrequest_from_dict742.8 ns1.35M
Deserialize From Dictresponse_from_dict743.2 ns1.35M
Id Generationnext_id88.6 ns11.28M
Json Round Tripjson_round_trip5.1 µs198.0K
Serialize To Dictrequest_to_dict288.9 ns3.46M
Serialize To Dictresponse_to_dict226.0 ns4.42M

jsonschema

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Perf (Large)zerodepallof-merge (JS)178.0 µs566.8 µs5.6K1.8K3.2x faster
Perf (Medium)zerodepallof-merge (JS)58.1 µs302.8 µs17.2K3.3K5.2x faster
Perf (Small)zerodepallof-merge (JS)23.3 µs123.9 µs43.0K8.1K5.3x faster
Perf Tinyzerodepallof-merge (JS)13.4 µs133.7 µs74.8K7.5K10.0x faster
Perf Xlargezerodepallof-merge (JS)1.23 ms2.34 ms815.2427.91.9x faster

llmstxt

Standalone benchmarks

OperationVariantMeanops/s
Candidate Urlszerodep10.7 µs93.6K
Parse (Large)zerodep1.06 ms942.3
Parse (Medium)zerodep41.6 µs24.0K
Parse (Small)zerodep10.2 µs97.8K

markdown

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Render (Large)zerodepmistune4.13 ms6.65 ms242.0150.31.6x faster
Render (Medium)zerodepmistune254.8 µs480.1 µs3.9K2.1K1.9x faster
Render (Small)zerodepmistune38.2 µs43.8 µs26.2K22.8K1.1x faster
Render GFMLargezerodepmistune4.63 ms9.14 ms215.8109.42.0x faster
Render GFMMediumzerodepmistune235.5 µs482.4 µs4.2K2.1K2.0x faster

persistdict

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Iterate (Small)zerodep_jsonshelve523.2 µs284.8 µs1.9K3.5K1.8x slower
Iterate (Small)zerodep_jsonsqlitedict523.2 µs965.8 µs1.9K1.0K1.8x faster
Iterate (Small)zerodep_sqliteshelve714.7 µs284.8 µs1.4K3.5K2.5x slower
Iterate (Small)zerodep_sqlitesqlitedict714.7 µs965.8 µs1.4K1.0K1.4x faster
Read (Small)zerodep_jsonshelve1.13 ms263.8 µs882.33.8K4.3x slower
Read (Small)zerodep_jsonsqlitedict1.13 ms6.97 ms882.3143.46.2x faster
Read (Small)zerodep_sqliteshelve679.0 µs263.8 µs1.5K3.8K2.6x slower
Read (Small)zerodep_sqlitesqlitedict679.0 µs6.97 ms1.5K143.410.3x faster
Write (Large)zerodep_jsonshelve11.10 ms17.41 ms90.157.41.6x faster
Write (Large)zerodep_jsonsqlitedict11.10 ms535.37 ms90.11.948.2x faster
Write (Large)zerodep_sqliteshelve168.05 ms17.41 ms6.057.49.7x slower
Write (Large)zerodep_sqlitesqlitedict168.05 ms535.37 ms6.01.93.2x faster
Write (Large)zerodep_sqlite_batchedshelve22.45 ms17.41 ms44.557.41.3x slower
Write (Large)zerodep_sqlite_batchedsqlitedict22.45 ms535.37 ms44.51.923.8x faster
Write (Small)zerodep_jsonshelve311.1 µs494.0 µs3.2K2.0K1.6x faster
Write (Small)zerodep_jsonsqlitedict311.1 µs13.66 ms3.2K73.243.9x faster
Write (Small)zerodep_sqliteshelve10.70 ms494.0 µs93.42.0K21.7x slower
Write (Small)zerodep_sqlitesqlitedict10.70 ms13.66 ms93.473.21.3x faster
Write (Small)zerodep_sqlite_batchedshelve5.32 ms494.0 µs187.92.0K10.8x slower
Write (Small)zerodep_sqlite_batchedsqlitedict5.32 ms13.66 ms187.973.22.6x faster

png

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Decode Bmp Medium RGBzerodeppillow463.4 µs70.9 µs2.2K14.1K6.5x slower
Decode Large RGBAzerodeppillow401.74 ms18.14 ms2.555.122.1x slower
Decode Medium Grayzerodeppillow4.94 ms223.5 µs202.34.5K22.1x slower
Decode Medium RGBzerodeppillow18.86 ms789.3 µs53.01.3K23.9x slower
Decode Medium RGBAzerodeppillow21.90 ms978.2 µs45.71.0K22.4x slower
Decode Small RGBAzerodeppillow1.24 ms39.1 µs809.525.6K31.6x slower
Encode Bmp Medium RGBzerodeppillow423.9 µs61.5 µs2.4K16.3K6.9x slower
Encode Large RGBAzerodeppillow3.097 s148.98 ms0.36.720.8x slower
Encode Medium RGBAzerodeppillow193.08 ms9.15 ms5.2109.321.1x slower
Encode Small RGBAzerodeppillow11.63 ms225.4 µs86.04.4K51.6x slower
Matrix Round Tripzerodep_encodepillow_encode70.91 ms2.12 ms14.1470.933.4x slower
Matrix Round Tripzerodep_encodepillow_decode70.91 ms184.7 µs14.15.4K384.0x slower
Matrix Round Tripzerodep_decodepillow_encode13.78 ms2.12 ms72.6470.96.5x slower
Matrix Round Tripzerodep_decodepillow_decode13.78 ms184.7 µs72.65.4K74.6x slower

protobuf

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Decode Comparisonzerodep_largegoogle (protobuf)253.1 µs3.4 µs4.0K290.8K73.6x slower
Decode Comparisonzerodep_mediumgoogle (protobuf)35.7 µs1.0 µs28.0K981.9K35.0x slower
Decode Comparisonzerodep_smallgoogle (protobuf)3.7 µs535.6 ns270.3K1.87M6.9x slower
Encode Comparisonzerodep_largegoogle (protobuf)94.6 µs2.0 µs10.6K508.5K48.1x slower
Encode Comparisonzerodep_mediumgoogle (protobuf)16.0 µs247.3 ns62.4K4.04M64.8x slower
Encode Comparisonzerodep_smallgoogle (protobuf)1.6 µs230.1 ns638.4K4.35M6.8x slower
Roundtrip Comparisonzerodep_largegoogle (protobuf)341.4 µs5.4 µs2.9K184.1K62.8x slower
Roundtrip Comparisonzerodep_mediumgoogle (protobuf)51.0 µs1.4 µs19.6K711.2K36.2x slower
Roundtrip Comparisonzerodep_smallgoogle (protobuf)5.3 µs790.0 ns189.2K1.27M6.7x slower

Standalone benchmarks

OperationVariantMeanops/s
test_decode_largedecode_large252.2 µs4.0K
test_decode_mediumdecode_medium35.6 µs28.1K
test_decode_smalldecode_small3.7 µs273.2K
test_encode_largeencode_large94.0 µs10.6K
test_encode_mediumencode_medium15.6 µs64.0K
test_encode_smallencode_small1.5 µs665.0K
test_from_dict_largefrom_dict_large135.0 µs7.4K
test_roundtrip_largeroundtrip_large345.0 µs2.9K
test_roundtrip_mediumroundtrip_medium51.4 µs19.4K
test_roundtrip_smallroundtrip_small5.4 µs186.5K
test_to_dict_largeto_dict_large80.4 µs12.4K

qr

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Encode Binaryzerodepqrcode29.63 ms34.71 ms33.828.81.2x faster
Encode High Ecczerodepqrcode5.50 ms5.30 ms181.9188.8~equal
Encode Large Datazerodepqrcode29.71 ms36.82 ms33.727.21.2x faster
Encode Longzerodepqrcode9.37 ms9.59 ms106.7104.2~equal
Encode Numericzerodepqrcode3.64 ms3.19 ms274.6313.01.1x slower
Encode Shortzerodepqrcode2.00 ms1.41 ms500.6710.11.4x slower
Encode URLzerodepqrcode4.57 ms4.05 ms218.7246.91.1x slower

readability

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Largezerodepreadability-lxml25.71 ms21.00 ms38.947.61.2x slower
LargezerodepMozilla Readability.js25.71 ms548.85 ms38.91.821.3x faster
Mediumzerodepreadability-lxml1.98 ms2.62 ms505.8381.21.3x faster
MediumzerodepMozilla Readability.js1.98 ms19.96 ms505.850.110.1x faster
Smallzerodepreadability-lxml196.1 µs476.6 µs5.1K2.1K2.4x faster
SmallzerodepMozilla Readability.js196.1 µs12.07 ms5.1K82.861.5x faster
Synthetic (Large)zerodepreadability-lxml4.59 ms10.02 ms217.799.82.2x faster
Synthetic (Large)zerodepMozilla Readability.js4.59 ms36.92 ms217.727.18.0x faster
Synthetic (Medium)zerodepreadability-lxml878.5 µs1.79 ms1.1K558.42.0x faster
Synthetic (Medium)zerodepMozilla Readability.js878.5 µs11.14 ms1.1K89.812.7x faster
Synthetic (Small)zerodepreadability-lxml330.1 µs542.7 µs3.0K1.8K1.6x faster
Synthetic (Small)zerodepMozilla Readability.js330.1 µs8.02 ms3.0K124.724.3x faster

Standalone benchmarks

OperationVariantMeanops/s
Is Probably Readablezerodep1.38 ms724.7

retry

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Backoff Calculationzerodeptenacity4.1 µs11.8 µs245.5K84.7K2.9x faster
Decorator Overheadzerodeptenacity377.5 ns15.2 µs2.65M65.8K40.3x faster
Retry With Failureszerodeptenacity122.8 µs163.2 µs8.1K6.1K1.3x faster

runner

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Env Passingzerodepsh10.17 ms68.28 ms98.314.66.7x faster
Env Passingzerodepsubprocess10.17 ms10.09 ms98.399.1~equal
Output Capturezerodepsh10.12 ms68.67 ms98.814.66.8x faster
Output Capturezerodepsubprocess10.12 ms10.38 ms98.896.4~equal
Simple Commandzerodepsh1.84 ms57.73 ms544.317.331.4x faster
Simple Commandzerodepsubprocess1.84 ms763.8 µs544.31.3K2.4x slower
Stdin Inputzerodepsh10.20 ms67.80 ms98.014.76.6x faster
Stdin Inputzerodepsubprocess10.20 ms10.03 ms98.099.7~equal
Streaming Lineszerodepsh10.12 ms68.11 ms98.814.76.7x faster
Streaming Lineszerodepsubprocess10.12 ms10.01 ms98.899.9~equal

scheduler

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Batch Next Fire Timezerodepcroniter513.5 µs3.13 ms1.9K319.36.1x faster
Batch Next Fire TimezerodepAPScheduler513.5 µs743.1 µs1.9K1.3K1.4x faster
Cron Parsingzerodepcroniter35.1 µs267.2 µs28.5K3.7K7.6x faster
Cron ParsingzerodepAPScheduler35.1 µs134.8 µs28.5K7.4K3.8x faster
Job Add Overheadzerodepschedule404.8 µs478.6 µs2.5K2.1K1.2x faster
Next Fire Timezerodepcroniter41.3 µs435.4 µs24.2K2.3K10.5x faster
Next Fire TimezerodepAPScheduler41.3 µs98.6 µs24.2K10.1K2.4x faster

semver

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Comparezerodeppackaging3.1 µs3.3 µs327.3K306.8K1.1x faster
Parse Complexzerodeppackaging18.7 µs19.1 µs53.6K52.4K~equal
Parse Prereleasezerodeppackaging16.6 µs18.0 µs60.4K55.6K1.1x faster
Parse Simplezerodeppackaging11.2 µs5.1 µs89.0K195.9K2.2x slower
Property Accesszerodeppackaging936.5 ns7.0 µs1.07M142.8K7.5x faster
Sortzerodeppackaging1.3 µs1.5 µs757.9K674.7K1.1x faster

soup

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Largezerodepbeautifulsoup422.24 ms49.51 ms45.020.22.2x faster
Mediumzerodepbeautifulsoup41.85 ms4.12 ms540.9243.02.2x faster
Pseudo Select (Large)zerodepbeautifulsoup483.90 ms87.35 ms11.911.4~equal
Pseudo Select (Medium)zerodepbeautifulsoup42.86 ms8.50 ms350.1117.63.0x faster
Pseudo Select (Small)zerodepbeautifulsoup4300.3 µs1.03 ms3.3K972.83.4x faster
Select (Large)zerodepbeautifulsoup424.81 ms57.95 ms40.317.32.3x faster
Select (Medium)zerodepbeautifulsoup42.07 ms6.96 ms483.7143.63.4x faster
Select (Small)zerodepbeautifulsoup4289.3 µs807.9 µs3.5K1.2K2.8x faster
Serialize (Large)zerodepbeautifulsoup422.43 ms62.54 ms44.616.02.8x faster
Serialize (Medium)zerodepbeautifulsoup41.73 ms5.68 ms578.4176.03.3x faster
Serialize (Small)zerodepbeautifulsoup4219.8 µs646.8 µs4.5K1.5K2.9x faster
Smallzerodepbeautifulsoup4195.6 µs480.3 µs5.1K2.1K2.5x faster
Tree Ops (Large)zerodepbeautifulsoup424.00 ms50.41 ms41.719.82.1x faster
Tree Ops (Medium)zerodepbeautifulsoup41.81 ms4.57 ms552.7218.92.5x faster
Tree Ops (Small)zerodepbeautifulsoup4244.5 µs575.3 µs4.1K1.7K2.4x faster

sse

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Large Streamzerodephttpx2.49 ms1.78 ms401.3562.21.4x slower
Medium Streamzerodephttpx294.8 µs235.0 µs3.4K4.3K1.3x slower
Small Streamzerodephttpx23.4 µs16.8 µs42.7K59.4K1.4x slower

structlog

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Bind And Logzerodepstructlog8.5 µs14.8 µs117.0K67.4K1.7x faster
Bound Logzerodepstructlog8.7 µs14.0 µs114.4K71.6K1.6x faster
JSONRenderingzerodepstructlog7.3 µs8.6 µs137.0K116.2K1.2x faster
Simple Logzerodepstructlog7.6 µs9.7 µs132.2K103.4K1.3x faster

tabulate

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Large Tablezerodepreference4.73 ms21.16 ms211.547.34.5x faster
Medium Tablezerodepreference305.1 µs1.37 ms3.3K732.54.5x faster
Small Tablezerodepreference35.9 µs114.3 µs27.9K8.7K3.2x faster

toon

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Decode Benchmarkdecode_large_oursdecode_large_ref1.64 ms1.75 ms608.9572.61.1x faster
Decode Benchmarkdecode_medium_oursdecode_medium_ref240.3 µs258.2 µs4.2K3.9K1.1x faster
Decode Benchmarkdecode_small_oursdecode_small_ref15.8 µs17.3 µs63.2K57.9K1.1x faster
Encode Benchmarkencode_large_oursencode_large_ref920.1 µs1.22 ms1.1K822.91.3x faster
Encode Benchmarkencode_medium_oursencode_medium_ref159.7 µs201.1 µs6.3K5.0K1.3x faster
Encode Benchmarkencode_small_oursencode_small_ref7.2 µs9.5 µs138.9K105.6K1.3x faster

useragent

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Generate Chrome Desktopzerodepua_generator4.0 µs9.1 µs253.1K110.2K2.3x faster
Generate Defaultzerodepua_generator4.3 µs9.5 µs233.3K105.5K2.2x faster
Generate Edge Mobilezerodepua_generator4.2 µs10.6 µs240.9K94.1K2.6x faster
Headers Getzerodepua_generator6.2 µs12.0 µs160.3K83.5K1.9x faster

validate

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Benchmark Constrainedourspydantic7.8 µs1.3 µs128.0K777.5K6.1x slower
Benchmark Json Schemaourspydantic7.8 µs124.8 µs128.0K8.0K16.0x faster
Benchmark List Of Dictsourspydantic179.0 µs24.3 µs5.6K41.2K7.4x slower
Benchmark Nestedourspydantic8.1 µs1.8 µs123.0K561.8K4.6x slower
Benchmark Simpleourspydantic4.5 µs1.2 µs221.6K813.0K3.7x slower

websocket

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Burst Messageszerodepwebsockets4.54 ms5.10 ms220.5196.01.1x faster
Connection Setupzerodepwebsockets323.7 µs870.7 µs3.1K1.1K2.7x faster
Json Rpc Roundtripzerodepwebsockets67.6 µs84.1 µs14.8K11.9K1.2x faster
Large Payloadzerodepwebsockets4.90 ms2.54 ms204.1393.01.9x slower

xml

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Parse (Large)zerodepxmltodict4.06 ms4.49 ms246.5222.91.1x faster
Parse (Medium)zerodepxmltodict301.9 µs337.3 µs3.3K3.0K1.1x faster
Parse (Small)zerodepxmltodict11.8 µs13.4 µs84.7K74.7K1.1x faster
Unparse (Large)zerodepxmltodict3.05 ms4.99 ms327.8200.51.6x faster
Unparse (Medium)zerodepxmltodict213.8 µs351.8 µs4.7K2.8K1.6x faster
Unparse (Small)zerodepxmltodict12.1 µs15.1 µs82.6K66.0K1.3x faster

Standalone benchmarks

OperationVariantMeanops/s
Extract Tagsextract_all591.2 µs1.7K
Extract Tagsextract_filtered348.8 µs2.9K
Extract Tagsextract_first_only7.5 µs133.0K

yaml

OperationzerodepReferencezerodep timeRef timezerodep ops/sRef ops/sRatio
Dump (Large)zerodepPyYAML1.99 ms13.75 ms501.972.76.9x faster
Dump (Medium)zerodepPyYAML111.4 µs641.0 µs9.0K1.6K5.8x faster
Dump (Small)zerodepPyYAML14.4 µs105.7 µs69.3K9.5K7.3x faster
Load (Large)zerodepPyYAML4.30 ms30.87 ms232.432.47.2x faster
Load (Medium)zerodepPyYAML204.7 µs1.32 ms4.9K758.06.4x faster
Load (Small)zerodepPyYAML30.7 µs194.5 µs32.6K5.1K6.3x faster