Skip to content

Add a few GZIP related benchmark cases#2385

Merged
jviotti merged 1 commit into
mainfrom
gzip-benchmark
May 17, 2026
Merged

Add a few GZIP related benchmark cases#2385
jviotti merged 1 commit into
mainfrom
gzip-benchmark

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 17, 2026

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

Re-trigger cubic

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 17, 2026

🤖 Augment PR Summary

Summary: Adds GZIP-related benchmarks to measure compression and decompression performance on real-world ISO language JSON datasets.

Changes:

  • Conditionally builds a new benchmark/gzip.cc when SOURCEMETA_CORE_GZIP is enabled
  • Links the benchmark binary against sourcemeta::core::gzip and sourcemeta::core::io
  • Adds two .json.gz fixtures used as benchmark inputs

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread benchmark/gzip.cc
std::filesystem::path{CURRENT_DIRECTORY} / "files" /
"iso_language_2023_set_3_locations.json.gz"};
const auto contents{
sourcemeta::core::gunzip(view.as<std::uint8_t>(), view.size())};
Copy link
Copy Markdown

@augmentcode augmentcode Bot May 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FileView::as<std::uint8_t>() asserts that the file has at least 1 byte; if a benchmark fixture is empty/corrupt this would abort in debug builds before gunzip() can report a decompression error.

Severity: low

Other Locations
  • benchmark/gzip.cc:32
  • benchmark/gzip.cc:35
  • benchmark/gzip.cc:47
  • benchmark/gzip.cc:60
  • benchmark/gzip.cc:63

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/llvm)

Details
Benchmark suite Current: 9e0e0c5 Previous: 3ea0eb1 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.7342865395444707 ns/iter 1.5698181922399403 ns/iter 1.10
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.735771644829538 ns/iter 1.569407965493418 ns/iter 1.11
Regex_Period_Asterisk 1.7374127473438952 ns/iter 1.574373242168997 ns/iter 1.10
Regex_Group_Period_Asterisk_Group 1.8537720829430733 ns/iter 1.5819667576824499 ns/iter 1.17
Regex_Period_Plus 2.070719976787804 ns/iter 1.884298853126068 ns/iter 1.10
Regex_Period 2.0636381246153164 ns/iter 1.8911737322260076 ns/iter 1.09
Regex_Caret_Period_Plus_Dollar 2.1145885121316876 ns/iter 1.8845997346308063 ns/iter 1.12
Regex_Caret_Group_Period_Plus_Group_Dollar 2.134996122828905 ns/iter 1.930152992888423 ns/iter 1.11
Regex_Caret_Period_Asterisk_Dollar 1.8227412650198915 ns/iter 1.5706264705602877 ns/iter 1.16
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.722357374569905 ns/iter 1.58150518266327 ns/iter 1.09
Regex_Caret_X_Hyphen 6.159094358938483 ns/iter 5.884488256715724 ns/iter 1.05
Regex_Period_Md_Dollar 16.65317117621312 ns/iter 15.496457143057535 ns/iter 1.07
Regex_Caret_Slash_Period_Asterisk 8.168298013039221 ns/iter 7.460727086113721 ns/iter 1.09
Regex_Caret_Period_Range_Dollar 1.7188169355343952 ns/iter 1.5845376002120732 ns/iter 1.08
Regex_Nested_Backtrack 24.969720290444037 ns/iter 22.822188687977736 ns/iter 1.09
JSON_Array_Of_Objects_Unique 347.24997218088237 ns/iter 316.22787244112726 ns/iter 1.10
JSON_Parse_1 4606.460348732566 ns/iter 3620.8767965678553 ns/iter 1.27
JSON_Parse_Real 6726.011322701475 ns/iter 6021.088988344239 ns/iter 1.12
JSON_Parse_Decimal 8306.446848898706 ns/iter 7575.579163910386 ns/iter 1.10
JSON_Parse_Schema_ISO_Language 3727123.717948626 ns/iter 4113811.4000013475 ns/iter 0.91
JSON_Fast_Hash_Helm_Chart_Lock 60.55974854453861 ns/iter 54.54012576315847 ns/iter 1.11
JSON_Equality_Helm_Chart_Lock 139.80978394322196 ns/iter 128.50931753017798 ns/iter 1.09
JSON_Divisible_By_Decimal 175.839428727864 ns/iter 170.06924709463377 ns/iter 1.03
JSON_String_Equal/10 6.919081445202065 ns/iter 6.285967552422091 ns/iter 1.10
JSON_String_Equal/100 6.554156096702538 ns/iter 5.991900713800797 ns/iter 1.09
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7655712792046558 ns/iter 0.6926556776925361 ns/iter 1.11
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.3048668111689663 ns/iter 3.015011209723364 ns/iter 1.10
JSON_String_Fast_Hash/10 2.4098502178268757 ns/iter 2.1994693053412155 ns/iter 1.10
JSON_String_Fast_Hash/100 2.053192336172001 ns/iter 1.8871473039254887 ns/iter 1.09
JSON_String_Key_Hash/10 1.4090830842226054 ns/iter 1.2693936908392864 ns/iter 1.11
JSON_String_Key_Hash/100 2.2773462754357836 ns/iter 2.0036656500716825 ns/iter 1.14
JSON_Object_Defines_Miss_Same_Length 2.395828446485489 ns/iter 2.291484394990364 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Small 2.423519691872833 ns/iter 2.221377646409658 ns/iter 1.09
JSON_Object_Defines_Miss_Too_Large 2.682542135100564 ns/iter 2.2274432189876823 ns/iter 1.20
Pointer_Object_Traverse 14.011792752489656 ns/iter 13.862741943306347 ns/iter 1.01
Pointer_Object_Try_Traverse 19.077787244628585 ns/iter 17.839345643431088 ns/iter 1.07
Pointer_Push_Back_Pointer_To_Weak_Pointer 160.80199043462494 ns/iter 143.35191123002275 ns/iter 1.12
Pointer_Walker_Schema_ISO_Language 4893702.848684412 ns/iter 3616198.247369826 ns/iter 1.35
Pointer_Maybe_Tracked_Deeply_Nested/0 1187079.8212478682 ns/iter 1046746.742749093 ns/iter 1.13
Pointer_Maybe_Tracked_Deeply_Nested/1 1475197.2891565538 ns/iter 1211082.2115390035 ns/iter 1.22
Pointer_Position_Tracker_Get_Deeply_Nested 399.07347462182037 ns/iter 323.3776452320159 ns/iter 1.23
Schema_Frame_WoT_References 5647442.090000822 ns/iter 4313403.201219843 ns/iter 1.31
Schema_Frame_OMC_References 24830384.615383465 ns/iter 24352811.740738146 ns/iter 1.02
Schema_Frame_OMC_Locations 23914862.90322621 ns/iter 21860881.50000387 ns/iter 1.09
Schema_Frame_ISO_Language_Locations 75482573.99999632 ns/iter 67904694.44447607 ns/iter 1.11
Schema_Frame_KrakenD_References 44142731.75000005 ns/iter 52625549.49999298 ns/iter 0.84
Schema_Frame_KrakenD_Reachable 439065333.49996835 ns/iter 329712375.0003266 ns/iter 1.33
Schema_Iterator_ISO_Language 2344582.247557087 ns/iter 1998794.7002795388 ns/iter 1.17
Schema_Frame_ISO_Language_Locations_To_JSON 70585833.40000269 ns/iter 87754732.14284699 ns/iter 0.80
Schema_Tracker_ISO_Language 4667192.370129817 ns/iter 4452815.789474435 ns/iter 1.05
Schema_Tracker_ISO_Language_To_JSON 14640304.16000014 ns/iter 12905144.736841496 ns/iter 1.13
Schema_Format_ISO_Language_To_JSON 77636333.22221924 ns/iter 66896520.79999177 ns/iter 1.16
Schema_Bundle_Meta_2020_12 1407419.1294111293 ns/iter 1187436.5331202303 ns/iter 1.19
Schema_Frame_Many_Resources_References 277645541.9999593 ns/iter 260300360.99988744 ns/iter 1.07
EditorSchema_ForEditor_EmbeddedResources 11290956.328133816 ns/iter 9490698.810813647 ns/iter 1.19
URITemplateRouter_Create 23682.53560725924 ns/iter 21469.476828274866 ns/iter 1.10
URITemplateRouter_Match 175.82745131216797 ns/iter 159.03552689384637 ns/iter 1.11
URITemplateRouter_Match_BasePath 190.7921183323536 ns/iter 181.80024578576965 ns/iter 1.05
URITemplateRouterView_Restore 9581.644943233023 ns/iter 8585.011010236733 ns/iter 1.12
URITemplateRouterView_Match 128.08075208746374 ns/iter 121.13651627907939 ns/iter 1.06
URITemplateRouterView_Match_BasePath 144.94507511009073 ns/iter 136.59277326768742 ns/iter 1.06
URITemplateRouterView_Arguments 403.70077248826897 ns/iter 375.0406541529047 ns/iter 1.08
JSONL_Parse_Large 12438818.181817623 ns/iter 11125003.370968824 ns/iter 1.12
JSONL_Parse_Large_GZIP 13856183.50000055 ns/iter 12004312.864403693 ns/iter 1.15
HTML_Build_Table_100000 60066399.999993786 ns/iter 62047395.83332261 ns/iter 0.97
HTML_Render_Table_100000 3250142.4088892844 ns/iter 2329958.746710609 ns/iter 1.39
GZIP_Compress_ISO_Language_Set_3_Locations 29345149.333333135 ns/iter
GZIP_Decompress_ISO_Language_Set_3_Locations 5188181.407692565 ns/iter
GZIP_Compress_ISO_Language_Set_3_Schema 1539137.0614034822 ns/iter
GZIP_Decompress_ISO_Language_Set_3_Schema 288431.7307692105 ns/iter

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Details
Benchmark suite Current: 9e0e0c5 Previous: 3ea0eb1 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2044725573005497 ns/iter 2.815450300133586 ns/iter 0.78
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1815069147468105 ns/iter 2.461557354887401 ns/iter 0.89
Regex_Period_Asterisk 2.190678050268627 ns/iter 2.812516029448832 ns/iter 0.78
Regex_Group_Period_Asterisk_Group 2.202267293924286 ns/iter 2.4618515207525116 ns/iter 0.89
Regex_Period_Plus 3.1172748382782935 ns/iter 4.217811481871924 ns/iter 0.74
Regex_Period 2.802363969862645 ns/iter 3.866304209684409 ns/iter 0.72
Regex_Caret_Period_Plus_Dollar 3.0984435790373888 ns/iter 4.222307255050327 ns/iter 0.73
Regex_Caret_Group_Period_Plus_Group_Dollar 2.491576922553786 ns/iter 3.8767698839170035 ns/iter 0.64
Regex_Caret_Period_Asterisk_Dollar 2.3859852221235682 ns/iter 3.1666010670784726 ns/iter 0.75
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.179889998816823 ns/iter 2.8142544447335847 ns/iter 0.77
Regex_Caret_X_Hyphen 5.924876881618523 ns/iter 7.404720566412962 ns/iter 0.80
Regex_Period_Md_Dollar 28.62904470648321 ns/iter 26.84014731669744 ns/iter 1.07
Regex_Caret_Slash_Period_Asterisk 6.231064591065603 ns/iter 7.736283785852633 ns/iter 0.81
Regex_Caret_Period_Range_Dollar 2.5006328829859115 ns/iter 3.0903573124610033 ns/iter 0.81
Regex_Nested_Backtrack 37.80152252231032 ns/iter 37.26578749117522 ns/iter 1.01
JSON_Array_Of_Objects_Unique 404.3877044018859 ns/iter 501.989185525233 ns/iter 0.81
JSON_Parse_1 5847.115607273832 ns/iter 5737.5052495355385 ns/iter 1.02
JSON_Parse_Real 11290.00272787527 ns/iter 10383.069943540235 ns/iter 1.09
JSON_Parse_Decimal 11320.706448054143 ns/iter 10877.358337890471 ns/iter 1.04
JSON_Parse_Schema_ISO_Language 3690393.34391502 ns/iter 3717586.170212821 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 61.00983806212537 ns/iter 79.20033206684612 ns/iter 0.77
JSON_Equality_Helm_Chart_Lock 171.46732341353024 ns/iter 168.5782860406928 ns/iter 1.02
JSON_Divisible_By_Decimal 243.85694639924745 ns/iter 245.26985987366132 ns/iter 0.99
JSON_String_Equal/10 6.235746950031634 ns/iter 6.333458374490689 ns/iter 0.98
JSON_String_Equal/100 6.861784439453666 ns/iter 6.336051354986864 ns/iter 1.08
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9392966259418412 ns/iter 1.0554743840525587 ns/iter 0.89
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.281763041732361 ns/iter 12.40639451336056 ns/iter 0.83
JSON_String_Fast_Hash/10 2.4960527842453337 ns/iter 2.815113663647041 ns/iter 0.89
JSON_String_Fast_Hash/100 2.4926184483875833 ns/iter 2.8228639775064024 ns/iter 0.88
JSON_String_Key_Hash/10 2.18093485986281 ns/iter 2.461698560142255 ns/iter 0.89
JSON_String_Key_Hash/100 6.537160940427924 ns/iter 7.732463604785702 ns/iter 0.85
JSON_Object_Defines_Miss_Same_Length 3.740999202475417 ns/iter 4.219719986276827 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Small 3.7392989591227184 ns/iter 4.219723389406765 ns/iter 0.89
JSON_Object_Defines_Miss_Too_Large 3.7400630842078075 ns/iter 4.219700309489887 ns/iter 0.89
Pointer_Object_Traverse 24.15168355281586 ns/iter 28.115514709713743 ns/iter 0.86
Pointer_Object_Try_Traverse 27.896202847852138 ns/iter 30.646581241558625 ns/iter 0.91
Pointer_Push_Back_Pointer_To_Weak_Pointer 164.3565041411014 ns/iter 189.6788502281996 ns/iter 0.87
Pointer_Walker_Schema_ISO_Language 3152727.0950228986 ns/iter 3109285.847533852 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/0 1481688.1779662038 ns/iter 1429391.965163937 ns/iter 1.04
Pointer_Maybe_Tracked_Deeply_Nested/1 1812307.6051947523 ns/iter 2227747.821752255 ns/iter 0.81
Pointer_Position_Tracker_Get_Deeply_Nested 664.3761145043409 ns/iter 653.0788484190329 ns/iter 1.02
Schema_Frame_WoT_References 5239519.589552015 ns/iter 5222698.365672393 ns/iter 1.00
Schema_Frame_OMC_References 21391805.272728425 ns/iter 21798446.290319823 ns/iter 0.98
Schema_Frame_OMC_Locations 19691027.166667633 ns/iter 20180217.25714334 ns/iter 0.98
Schema_Frame_ISO_Language_Locations 99879231.9999969 ns/iter 101405684.16666913 ns/iter 0.98
Schema_Frame_KrakenD_References 39403115.833332926 ns/iter 41516787.47058775 ns/iter 0.95
Schema_Frame_KrakenD_Reachable 595612401.9999151 ns/iter 613211012.0000789 ns/iter 0.97
Schema_Iterator_ISO_Language 2984593.5508470857 ns/iter 3130669.387386915 ns/iter 0.95
Schema_Frame_ISO_Language_Locations_To_JSON 112318791.80002125 ns/iter 109238349.66666846 ns/iter 1.03
Schema_Tracker_ISO_Language 4585283.802631585 ns/iter 4753980.160000235 ns/iter 0.96
Schema_Tracker_ISO_Language_To_JSON 19266955.805556387 ns/iter 17844620.7435901 ns/iter 1.08
Schema_Format_ISO_Language_To_JSON 104795986.33334793 ns/iter 109740386.16666348 ns/iter 0.95
Schema_Bundle_Meta_2020_12 1700488.6043660846 ns/iter 1661125.1516592002 ns/iter 1.02
Schema_Frame_Many_Resources_References 378417016.5000091 ns/iter 378284083.49997747 ns/iter 1.00
EditorSchema_ForEditor_EmbeddedResources 13915773.45999849 ns/iter 14000698.040003954 ns/iter 0.99
URITemplateRouter_Create 31881.601679102074 ns/iter 30394.594494710844 ns/iter 1.05
URITemplateRouter_Match 170.64053319785373 ns/iter 182.2695086735127 ns/iter 0.94
URITemplateRouter_Match_BasePath 203.15470929804502 ns/iter 218.91520521864118 ns/iter 0.93
URITemplateRouterView_Restore 7812.308972007156 ns/iter 8811.413272210095 ns/iter 0.89
URITemplateRouterView_Match 143.02647760206366 ns/iter 147.95977039654866 ns/iter 0.97
URITemplateRouterView_Match_BasePath 164.66450736708228 ns/iter 174.6525820841366 ns/iter 0.94
URITemplateRouterView_Arguments 472.2147693939146 ns/iter 468.70341948352126 ns/iter 1.01
JSONL_Parse_Large 10856076.515626255 ns/iter 9977867.26388799 ns/iter 1.09
JSONL_Parse_Large_GZIP 12124648.310344221 ns/iter 11115076.746032102 ns/iter 1.09
HTML_Build_Table_100000 63609671.81817821 ns/iter 90892325.75000495 ns/iter 0.70
HTML_Render_Table_100000 5397920.715385086 ns/iter 4950092.676258562 ns/iter 1.09
GZIP_Compress_ISO_Language_Set_3_Locations 34166579.15000201 ns/iter
GZIP_Decompress_ISO_Language_Set_3_Locations 5209828.985184854 ns/iter
GZIP_Compress_ISO_Language_Set_3_Schema 1876214.2139036725 ns/iter
GZIP_Decompress_ISO_Language_Set_3_Schema 379199.263271954 ns/iter

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (windows/msvc)

Details
Benchmark suite Current: 9e0e0c5 Previous: 3ea0eb1 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 8.875538799661106 ns/iter 6.847304464287163 ns/iter 1.30
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 8.81498437499977 ns/iter 6.842957142857082 ns/iter 1.29
Regex_Period_Asterisk 8.831895496286752 ns/iter 6.838037499999165 ns/iter 1.29
Regex_Group_Period_Asterisk_Group 8.819982549910227 ns/iter 6.839375000000457 ns/iter 1.29
Regex_Period_Plus 11.337525000001849 ns/iter 8.760871651785708 ns/iter 1.29
Regex_Period 11.313910937499116 ns/iter 8.74290531811163 ns/iter 1.29
Regex_Caret_Period_Plus_Dollar 11.289968749998991 ns/iter 8.740771835978963 ns/iter 1.29
Regex_Caret_Group_Period_Plus_Group_Dollar 11.304334374997893 ns/iter 8.745550407388755 ns/iter 1.29
Regex_Caret_Period_Asterisk_Dollar 8.88819103174736 ns/iter 6.833362499999598 ns/iter 1.30
Regex_Caret_Group_Period_Asterisk_Group_Dollar 8.84999326406476 ns/iter 6.833774999999979 ns/iter 1.30
Regex_Caret_X_Hyphen 13.791161992004094 ns/iter 10.660603125000279 ns/iter 1.29
Regex_Period_Md_Dollar 41.177332247915615 ns/iter 31.577254464291318 ns/iter 1.30
Regex_Caret_Slash_Period_Asterisk 13.081005357142724 ns/iter 10.113551740564708 ns/iter 1.29
Regex_Caret_Period_Range_Dollar 11.361873437500947 ns/iter 8.739822282413716 ns/iter 1.30
Regex_Nested_Backtrack 50.650866071423806 ns/iter 38.96656808036271 ns/iter 1.30
JSON_Array_Of_Objects_Unique 498.23560000004363 ns/iter 376.5906808035981 ns/iter 1.32
JSON_Parse_1 7656.8069196422275 ns/iter 5851.164999999128 ns/iter 1.31
JSON_Parse_Real 13841.267226483535 ns/iter 10627.684251409932 ns/iter 1.30
JSON_Parse_Decimal 14978.098214284735 ns/iter 11159.625000001228 ns/iter 1.34
JSON_Parse_Schema_ISO_Language 6440455.357142533 ns/iter 5287257.1428557485 ns/iter 1.22
JSON_Fast_Hash_Helm_Chart_Lock 60.16274107143513 ns/iter 52.630440906921635 ns/iter 1.14
JSON_Equality_Helm_Chart_Lock 285.08300836129433 ns/iter 227.57593750000638 ns/iter 1.25
JSON_Divisible_By_Decimal 258.3475316226668 ns/iter 200.31922543222464 ns/iter 1.29
JSON_String_Equal/10 11.689158928573663 ns/iter 8.776124960820038 ns/iter 1.33
JSON_String_Equal/100 13.09581607142718 ns/iter 10.151110937499652 ns/iter 1.29
JSON_String_Equal_Small_By_Perfect_Hash/10 1.8420538409304832 ns/iter 1.6579114073605903 ns/iter 1.11
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 11.304470312502701 ns/iter 8.797645089287139 ns/iter 1.28
JSON_String_Fast_Hash/10 3.2835628512794406 ns/iter 2.7399214930893625 ns/iter 1.20
JSON_String_Fast_Hash/100 3.2694416013050263 ns/iter 2.7358225000000402 ns/iter 1.20
JSON_String_Key_Hash/10 4.596008024429614 ns/iter 3.0195767857138986 ns/iter 1.52
JSON_String_Key_Hash/100 16.998717296886234 ns/iter 13.293703571426768 ns/iter 1.28
JSON_Object_Defines_Miss_Same_Length 3.8833225446425046 ns/iter 3.94263963581648 ns/iter 0.98
JSON_Object_Defines_Miss_Too_Small 5.120176000000356 ns/iter 3.0371357142848456 ns/iter 1.69
JSON_Object_Defines_Miss_Too_Large 3.898533482142546 ns/iter 3.016727678571434 ns/iter 1.29
Pointer_Object_Traverse 42.0381732981666 ns/iter 32.527945820747625 ns/iter 1.29
Pointer_Object_Try_Traverse 54.07436999998936 ns/iter 41.19584564102014 ns/iter 1.31
Pointer_Push_Back_Pointer_To_Weak_Pointer 151.27022321428691 ns/iter 120.44789285718187 ns/iter 1.26
Pointer_Walker_Schema_ISO_Language 13393380.000002254 ns/iter 10309751.999999814 ns/iter 1.30
Pointer_Maybe_Tracked_Deeply_Nested/0 2021883.9285714042 ns/iter 1525661.6883113105 ns/iter 1.33
Pointer_Maybe_Tracked_Deeply_Nested/1 2936429.661016811 ns/iter 2632665.1515152017 ns/iter 1.12
Pointer_Position_Tracker_Get_Deeply_Nested 627.423549107117 ns/iter 482.5524107143256 ns/iter 1.30
Schema_Frame_WoT_References 10121465.625001492 ns/iter 7858756.666665714 ns/iter 1.29
Schema_Frame_OMC_References 47531246.66666129 ns/iter 34413826.31578898 ns/iter 1.38
Schema_Frame_OMC_Locations 42718047.058823526 ns/iter 32585223.809530277 ns/iter 1.31
Schema_Frame_ISO_Language_Locations 212359933.3333459 ns/iter 163626924.99996 ns/iter 1.30
Schema_Frame_KrakenD_References 96870942.8571596 ns/iter 73095444.44443518 ns/iter 1.33
Schema_Frame_KrakenD_Reachable 562542099.9999733 ns/iter 404786500.00011384 ns/iter 1.39
Schema_Iterator_ISO_Language 7118237.777778328 ns/iter 5164798.9999992205 ns/iter 1.38
Schema_Frame_ISO_Language_Locations_To_JSON 312882300.0000693 ns/iter 246354966.66671014 ns/iter 1.27
Schema_Tracker_ISO_Language 10358624.000000417 ns/iter 7895810.000000994 ns/iter 1.31
Schema_Tracker_ISO_Language_To_JSON 51534619.99998399 ns/iter 38805447.36842383 ns/iter 1.33
Schema_Format_ISO_Language_To_JSON 211921033.33320725 ns/iter 156220100.0000414 ns/iter 1.36
Schema_Bundle_Meta_2020_12 2848329.3172660316 ns/iter 2221146.2500024484 ns/iter 1.28
Schema_Frame_Many_Resources_References 1511654000.000135 ns/iter 1154473499.9999945 ns/iter 1.31
EditorSchema_ForEditor_EmbeddedResources 30938579.166663278 ns/iter 23275183.333324395 ns/iter 1.33
URITemplateRouter_Create 37076.34767429734 ns/iter 28306.722083213488 ns/iter 1.31
URITemplateRouter_Match 217.58843749999815 ns/iter 174.35727953288387 ns/iter 1.25
URITemplateRouter_Match_BasePath 253.25614285715605 ns/iter 197.34601762020662 ns/iter 1.28
URITemplateRouterView_Restore 23195.22215154163 ns/iter 17576.413681338672 ns/iter 1.32
URITemplateRouterView_Match 157.52966517855577 ns/iter 117.7694107142559 ns/iter 1.34
URITemplateRouterView_Match_BasePath 185.37636476569728 ns/iter 137.21973940980197 ns/iter 1.35
URITemplateRouterView_Arguments 446.1034497045058 ns/iter 348.4956029472743 ns/iter 1.28
JSONL_Parse_Large 27313773.07692093 ns/iter 20712664.705884516 ns/iter 1.32
JSONL_Parse_Large_GZIP 26916699.999998987 ns/iter 20464353.124999944 ns/iter 1.32
HTML_Build_Table_100000 92139499.99999775 ns/iter 72785927.27272388 ns/iter 1.27
HTML_Render_Table_100000 8231850.000000426 ns/iter 6656718.888888868 ns/iter 1.24
GZIP_Compress_ISO_Language_Set_3_Locations 43743500.000005044 ns/iter
GZIP_Decompress_ISO_Language_Set_3_Locations 11596156.250000434 ns/iter
GZIP_Compress_ISO_Language_Set_3_Schema 2530802.1428575753 ns/iter
GZIP_Decompress_ISO_Language_Set_3_Schema 741663.8392856763 ns/iter

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Details
Benchmark suite Current: 9e0e0c5 Previous: 3ea0eb1 Ratio
GZIP_Compress_ISO_Language_Set_3_Locations 41298518.529415295 ns/iter
GZIP_Decompress_ISO_Language_Set_3_Locations 4914963.013984593 ns/iter
GZIP_Compress_ISO_Language_Set_3_Schema 2342783.117056603 ns/iter
GZIP_Decompress_ISO_Language_Set_3_Schema 297204.62322059664 ns/iter
HTML_Build_Table_100000 67897773.30000106 ns/iter 68188369.09999391 ns/iter 1.00
HTML_Render_Table_100000 2390935.1003460283 ns/iter 5042811.7810221985 ns/iter 0.47
JSONL_Parse_Large 12707938.109087989 ns/iter 12364365.228067024 ns/iter 1.03
JSONL_Parse_Large_GZIP 13768215.843137844 ns/iter 13931860.921569321 ns/iter 0.99
URITemplateRouter_Create 29390.79400528995 ns/iter 30345.07107695082 ns/iter 0.97
URITemplateRouter_Match 166.9857110870186 ns/iter 181.63510008448782 ns/iter 0.92
URITemplateRouter_Match_BasePath 196.12852300504198 ns/iter 210.4456954611485 ns/iter 0.93
URITemplateRouterView_Restore 8707.56088873562 ns/iter 8727.80798158344 ns/iter 1.00
URITemplateRouterView_Match 135.56595881417152 ns/iter 135.82557821792975 ns/iter 1.00
URITemplateRouterView_Match_BasePath 154.94805626298688 ns/iter 160.21964886416353 ns/iter 0.97
URITemplateRouterView_Arguments 458.5089706311125 ns/iter 457.115172710319 ns/iter 1.00
EditorSchema_ForEditor_EmbeddedResources 14352028.999972353 ns/iter 14410437.312524967 ns/iter 1.00
Schema_Frame_WoT_References 5566038.412697462 ns/iter 5528842.40476177 ns/iter 1.01
Schema_Frame_OMC_References 24584560.17241368 ns/iter 23080186.33333025 ns/iter 1.07
Schema_Frame_OMC_Locations 23208132.870965324 ns/iter 21445537.878786456 ns/iter 1.08
Schema_Frame_ISO_Language_Locations 107678991.83334368 ns/iter 109595409.66666736 ns/iter 0.98
Schema_Frame_KrakenD_References 46276884.79999961 ns/iter 43945506.87500498 ns/iter 1.05
Schema_Frame_KrakenD_Reachable 602608613.0000294 ns/iter 629275949.9999647 ns/iter 0.96
Schema_Iterator_ISO_Language 3564516.8497655117 ns/iter 3166032.420813898 ns/iter 1.13
Schema_Frame_ISO_Language_Locations_To_JSON 245093721.33335698 ns/iter 233146262.66665074 ns/iter 1.05
Schema_Tracker_ISO_Language 4545036.65359345 ns/iter 4485215.961038536 ns/iter 1.01
Schema_Tracker_ISO_Language_To_JSON 22624667.45161228 ns/iter 22165341.37500048 ns/iter 1.02
Schema_Format_ISO_Language_To_JSON 117543469.33332728 ns/iter 110398661.49997123 ns/iter 1.06
Schema_Bundle_Meta_2020_12 1777996.6582226355 ns/iter 1784259.9822327932 ns/iter 1.00
Schema_Frame_Many_Resources_References 406180839.0000579 ns/iter 388095124.4999551 ns/iter 1.05
Pointer_Object_Traverse 26.163318721289038 ns/iter 26.664663722308507 ns/iter 0.98
Pointer_Object_Try_Traverse 23.036036972706384 ns/iter 25.456053699993326 ns/iter 0.90
Pointer_Push_Back_Pointer_To_Weak_Pointer 136.97279279190343 ns/iter 151.38873313346863 ns/iter 0.90
Pointer_Walker_Schema_ISO_Language 3719043.206703706 ns/iter 3517765.87192187 ns/iter 1.06
Pointer_Maybe_Tracked_Deeply_Nested/0 1508110.8924727798 ns/iter 1512227.8146548225 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1711950.3398536216 ns/iter 1708974.9558822091 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 534.5736757323533 ns/iter 468.6953085642986 ns/iter 1.14
JSON_Array_Of_Objects_Unique 429.7012688210185 ns/iter 436.4113639493703 ns/iter 0.98
JSON_Parse_1 7639.468988398223 ns/iter 7589.597748572826 ns/iter 1.01
JSON_Parse_Real 11701.048479389021 ns/iter 11734.63346845251 ns/iter 1.00
JSON_Parse_Decimal 16296.212212705894 ns/iter 16289.38699992873 ns/iter 1.00
JSON_Parse_Schema_ISO_Language 4633340.479999788 ns/iter 4525846.961039907 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 71.95560564403716 ns/iter 62.75807225092551 ns/iter 1.15
JSON_Equality_Helm_Chart_Lock 171.3320833782508 ns/iter 173.95764779438244 ns/iter 0.98
JSON_Divisible_By_Decimal 232.26995371834596 ns/iter 232.92921020475967 ns/iter 1.00
JSON_String_Equal/10 6.465884448028617 ns/iter 6.722428857891553 ns/iter 0.96
JSON_String_Equal/100 7.179891677755342 ns/iter 7.186196413955959 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7120471818686124 ns/iter 0.7115294443545107 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 21.988010012683965 ns/iter 21.936190866419526 ns/iter 1.00
JSON_String_Fast_Hash/10 1.7589722739303382 ns/iter 1.7588711835550335 ns/iter 1.00
JSON_String_Fast_Hash/100 1.75968965850391 ns/iter 1.7593741643810492 ns/iter 1.00
JSON_String_Key_Hash/10 1.0856147470470037 ns/iter 1.083911439619537 ns/iter 1.00
JSON_String_Key_Hash/100 14.760657499776022 ns/iter 14.756508654155704 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.906306677728323 ns/iter 3.8726957403325803 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Small 4.2235112748648875 ns/iter 4.2239588296006945 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.534676247151092 ns/iter 3.517216899894372 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 0.7046441595737053 ns/iter 0.7037827256282021 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.7039440643118491 ns/iter 0.7036097597281504 ns/iter 1.00
Regex_Period_Asterisk 1.0556263634307432 ns/iter 1.0553807580132517 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 1.0557390456529816 ns/iter 1.0557893020716664 ns/iter 1.00
Regex_Period_Plus 0.7036567234796213 ns/iter 0.7036824426853043 ns/iter 1.00
Regex_Period 0.7035261994069038 ns/iter 0.7038987456618534 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 1.0555493179470252 ns/iter 1.0586400516039536 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 1.0560032759567355 ns/iter 1.055559773303686 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 0.7031739933155546 ns/iter 0.7036694150720892 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.7037279947222058 ns/iter 0.7043073630098549 ns/iter 1.00
Regex_Caret_X_Hyphen 4.218398413510007 ns/iter 3.866805881784364 ns/iter 1.09
Regex_Period_Md_Dollar 40.43946588310673 ns/iter 33.77610417136875 ns/iter 1.20
Regex_Caret_Slash_Period_Asterisk 4.575280916593484 ns/iter 4.570664181403832 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 0.8485096106056871 ns/iter 0.8390179627262704 ns/iter 1.01
Regex_Nested_Backtrack 44.845146765402994 ns/iter 40.09232131910155 ns/iter 1.12

This comment was automatically generated by workflow using github-action-benchmark.

@jviotti jviotti merged commit 2826ea1 into main May 17, 2026
13 checks passed
@jviotti jviotti deleted the gzip-benchmark branch May 17, 2026 21:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant