Skip to content

Add a few basic JOSE benchmark cases#2524

Merged
jviotti merged 2 commits into
mainfrom
benchmark-jose
Jun 16, 2026
Merged

Add a few basic JOSE benchmark cases#2524
jviotti merged 2 commits into
mainfrom
benchmark-jose

Conversation

@jviotti

@jviotti jviotti commented Jun 16, 2026

Copy link
Copy Markdown
Member

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

Review in cubic

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

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 2 files

Re-trigger cubic

@augmentcode

augmentcode Bot commented Jun 16, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Adds initial Google Benchmark coverage for the JOSE module.

Changes:

  • Conditionally include a new jose.cc benchmark source when SOURCEMETA_CORE_JOSE is enabled
  • Link the benchmark target against the JOSE/crypto/json libraries under the same feature flag
  • Introduce benchmarks for JWT signature verification (RS256, ES512) and full JWT verification (claims + signature)

Technical Notes: The full verification cases use a fixed now timestamp (time_t=1,000,000,000) with matching issuer/audience to keep tokens valid during the benchmark run.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

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/jose.cc
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 50f5b48 Previous: 083a78b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.841848506062764 ns/iter 1.7125506578315972 ns/iter 1.08
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9124067525221802 ns/iter 1.801003338605951 ns/iter 1.06
Regex_Period_Asterisk 1.7338589187666358 ns/iter 1.736733573150424 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 1.7645211764380073 ns/iter 1.7679816605567478 ns/iter 1.00
Regex_Period_Plus 2.0613854930700026 ns/iter 2.2243144643472186 ns/iter 0.93
Regex_Period 2.164781872735221 ns/iter 2.661545876173763 ns/iter 0.81
Regex_Caret_Period_Plus_Dollar 2.3164021232476832 ns/iter 2.63050143668328 ns/iter 0.88
Regex_Caret_Group_Period_Plus_Group_Dollar 2.12022006776438 ns/iter 2.537826981507443 ns/iter 0.84
Regex_Caret_Period_Asterisk_Dollar 1.7872171725357833 ns/iter 2.2261550422969356 ns/iter 0.80
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.7513800609954804 ns/iter 2.2939425057238148 ns/iter 0.76
Regex_Caret_X_Hyphen 6.264598105287606 ns/iter 8.108937373773575 ns/iter 0.77
Regex_Period_Md_Dollar 20.80802120153658 ns/iter 20.770779773590238 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 5.043540880520838 ns/iter 5.598630303556074 ns/iter 0.90
Regex_Caret_Period_Range_Dollar 2.050735221356849 ns/iter 2.5528246573589084 ns/iter 0.80
Regex_Nested_Backtrack 24.97257585210165 ns/iter 31.59701058502635 ns/iter 0.79
JSON_Array_Of_Objects_Unique 393.7015263200408 ns/iter 482.0097446837919 ns/iter 0.82
JSON_Parse_1 4057.192921247739 ns/iter 5032.839299309329 ns/iter 0.81
JSON_Parse_Real 5368.142154992115 ns/iter 7631.067033447109 ns/iter 0.70
JSON_Parse_Decimal 5610.655058697989 ns/iter 8130.724109697481 ns/iter 0.69
JSON_Parse_Schema_ISO_Language 2863288.512605109 ns/iter 6031733.208955295 ns/iter 0.47
JSON_Parse_Integer 2948.2714201855633 ns/iter 3861.145923100429 ns/iter 0.76
JSON_Parse_String_NonSSO_Plain 3437.859229365924 ns/iter 4400.6175217583495 ns/iter 0.78
JSON_Parse_String_SSO_Plain 1748.0066904458845 ns/iter 2146.6823968210524 ns/iter 0.81
JSON_Parse_String_Escape_Heavy 16183.122458011741 ns/iter 20748.014395416612 ns/iter 0.78
JSON_Parse_Object_Short_Keys 5059.794764337319 ns/iter 6197.1494488844 ns/iter 0.82
JSON_Parse_Object_Scalar_Properties 2645.9842391386424 ns/iter 3183.105998938199 ns/iter 0.83
JSON_Parse_Object_Array_Properties 3360.1714036127687 ns/iter 4580.16310148714 ns/iter 0.73
JSON_Parse_Object_Object_Properties 3515.334107207077 ns/iter 4793.564126771292 ns/iter 0.73
JSON_Parse_Nested_Containers 27194.551282553897 ns/iter 40239.7771597914 ns/iter 0.68
JSON_From_String_Copy 23.579470446510687 ns/iter 34.98752349815188 ns/iter 0.67
JSON_From_String_Temporary 18.718649440237193 ns/iter 37.852875772075826 ns/iter 0.49
JSON_Number_To_Double 31.99942055472435 ns/iter 57.376115290483604 ns/iter 0.56
JSON_Object_At_Last_Key/8 3.4987369224238543 ns/iter 4.2520543549288305 ns/iter 0.82
JSON_Object_At_Last_Key/32 11.282660311249897 ns/iter 13.714964215978664 ns/iter 0.82
JSON_Object_At_Last_Key/128 51.373342669604085 ns/iter 55.701889507358466 ns/iter 0.92
JSON_Object_At_Last_Key/512 173.84494656577598 ns/iter 192.29459276899087 ns/iter 0.90
JSON_Fast_Hash_Helm_Chart_Lock 54.58809566125528 ns/iter 61.050575322968704 ns/iter 0.89
JSON_Equality_Helm_Chart_Lock 124.70164965828192 ns/iter 140.3519660727012 ns/iter 0.89
JSON_Divisible_By_Decimal 165.1370959601906 ns/iter 185.41748519730504 ns/iter 0.89
JSON_String_Equal/10 6.415981696843228 ns/iter 7.0321801536204305 ns/iter 0.91
JSON_String_Equal/100 6.066289553018209 ns/iter 6.721923233343213 ns/iter 0.90
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7174671631749299 ns/iter 0.8440016939331417 ns/iter 0.85
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.07291186101265 ns/iter 3.4706821811171915 ns/iter 0.89
JSON_String_Fast_Hash/10 2.2038941061282347 ns/iter 2.823523849923165 ns/iter 0.78
JSON_String_Fast_Hash/100 1.9088442743497407 ns/iter 2.337864267636027 ns/iter 0.82
JSON_String_Key_Hash/10 1.2810910206746302 ns/iter 1.4890686209909072 ns/iter 0.86
JSON_String_Key_Hash/100 2.058074762708811 ns/iter 2.431504954460714 ns/iter 0.85
JSON_Object_Defines_Miss_Same_Length 2.2299844348932147 ns/iter 2.6942086697105525 ns/iter 0.83
JSON_Object_Defines_Miss_Too_Small 2.2135242629011027 ns/iter 2.302993001680374 ns/iter 0.96
JSON_Object_Defines_Miss_Too_Large 2.2031872226689657 ns/iter 2.263071123638936 ns/iter 0.97
Pointer_Object_Traverse 13.196978901763146 ns/iter 12.878119397724236 ns/iter 1.02
Pointer_Object_Try_Traverse 21.919268305394446 ns/iter 22.454931464698106 ns/iter 0.98
Pointer_Push_Back_Pointer_To_Weak_Pointer 145.5374200278687 ns/iter 144.06200659951537 ns/iter 1.01
Pointer_Walker_Schema_ISO_Language 1980133.0758424087 ns/iter 1967435.224137706 ns/iter 1.01
Pointer_Maybe_Tracked_Deeply_Nested/0 827064.6784091375 ns/iter 824759.0290557843 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1113179.6875000154 ns/iter 1220969.1809523918 ns/iter 0.91
Pointer_Position_Tracker_Get_Deeply_Nested 329.5708680783157 ns/iter 322.49017524353366 ns/iter 1.02
URITemplateRouter_Create 22583.837252131667 ns/iter 21306.596711860082 ns/iter 1.06
URITemplateRouter_Match 151.53629133797853 ns/iter 154.93459651286017 ns/iter 0.98
URITemplateRouter_Match_BasePath 178.27882576879907 ns/iter 177.8631600092016 ns/iter 1.00
URITemplateRouterView_Restore 8634.68865155308 ns/iter 8738.167034455833 ns/iter 0.99
URITemplateRouterView_Match 120.63709707078603 ns/iter 121.62152443057298 ns/iter 0.99
URITemplateRouterView_Match_BasePath 146.3943991354416 ns/iter 150.23492293664032 ns/iter 0.97
URITemplateRouterView_Arguments 380.0213778724109 ns/iter 398.2461032771349 ns/iter 0.95
JSONL_Parse_Large 12136327.868852574 ns/iter 11778821.120689655 ns/iter 1.03
JSONL_Parse_Large_GZIP 12623365.145453716 ns/iter 12866645.833334453 ns/iter 0.98
HTML_Build_Table_100000 60020242.45455315 ns/iter 61295318.181816004 ns/iter 0.98
HTML_Render_Table_100000 2379482.9084744053 ns/iter 2982649.5098039266 ns/iter 0.80
GZIP_Compress_ISO_Language_Set_3_Locations 24848947.92857111 ns/iter 25272811.035713565 ns/iter 0.98
GZIP_Decompress_ISO_Language_Set_3_Locations 5230387.795275483 ns/iter 5089439.999999286 ns/iter 1.03
GZIP_Compress_ISO_Language_Set_3_Schema 1415743.8170731738 ns/iter 1451273.4414783483 ns/iter 0.98
GZIP_Decompress_ISO_Language_Set_3_Schema 260602.53650317452 ns/iter 272563.1722973197 ns/iter 0.96
JOSE_VerifySignature_RS256 26447.006395945486 ns/iter
JOSE_VerifySignature_ES512 931018.4081346976 ns/iter
JOSE_Verify_RS256 28050.31011895398 ns/iter
JOSE_Verify_ES512 922889.613119223 ns/iter

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

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 50f5b48 Previous: 083a78b Ratio
JOSE_VerifySignature_RS256 61193.505019606375 ns/iter
JOSE_VerifySignature_ES512 12278412.245614003 ns/iter
JOSE_Verify_RS256 63104.7922007517 ns/iter
JOSE_Verify_ES512 12273881.807018688 ns/iter
GZIP_Compress_ISO_Language_Set_3_Locations 36430989.84210418 ns/iter 36571230.052632734 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 4198838.981927478 ns/iter 4405665.339622571 ns/iter 0.95
GZIP_Compress_ISO_Language_Set_3_Schema 2033025.060869688 ns/iter 2041900.5058482855 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 378381.22288177133 ns/iter 376348.1607527117 ns/iter 1.01
HTML_Build_Table_100000 59972818.16667055 ns/iter 60386436.916663416 ns/iter 0.99
HTML_Render_Table_100000 1942361.7142857728 ns/iter 1880394.477089093 ns/iter 1.03
JSONL_Parse_Large 13347390.865384605 ns/iter 13095395.867922751 ns/iter 1.02
JSONL_Parse_Large_GZIP 14958648.382977368 ns/iter 14517514.83333415 ns/iter 1.03
URITemplateRouter_Create 31588.185863872586 ns/iter 30240.606477278787 ns/iter 1.04
URITemplateRouter_Match 159.2987754854463 ns/iter 155.25239215302022 ns/iter 1.03
URITemplateRouter_Match_BasePath 185.30627173856482 ns/iter 180.44871708376044 ns/iter 1.03
URITemplateRouterView_Restore 7675.028209413532 ns/iter 7867.998979197968 ns/iter 0.98
URITemplateRouterView_Match 125.27567749864016 ns/iter 124.03138867935081 ns/iter 1.01
URITemplateRouterView_Match_BasePath 145.8617569648828 ns/iter 144.67344586622377 ns/iter 1.01
URITemplateRouterView_Arguments 473.63612054404365 ns/iter 472.3468526882588 ns/iter 1.00
Pointer_Object_Traverse 30.522914711467724 ns/iter 32.808292075249796 ns/iter 0.93
Pointer_Object_Try_Traverse 20.315733229106993 ns/iter 20.2377069910091 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 148.88180698603352 ns/iter 157.46334381235891 ns/iter 0.95
Pointer_Walker_Schema_ISO_Language 1843959.2777778392 ns/iter 2183156.449664452 ns/iter 0.84
Pointer_Maybe_Tracked_Deeply_Nested/0 1543287.4559471225 ns/iter 1518194.2759381835 ns/iter 1.02
Pointer_Maybe_Tracked_Deeply_Nested/1 1689322.688249252 ns/iter 1682664.752403768 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 506.05084633279114 ns/iter 602.908694152612 ns/iter 0.84
JSON_Array_Of_Objects_Unique 400.731172528266 ns/iter 392.3795952439275 ns/iter 1.02
JSON_Parse_1 7777.415578811731 ns/iter 7686.32408638878 ns/iter 1.01
JSON_Parse_Real 6364.357168253689 ns/iter 6494.652629636427 ns/iter 0.98
JSON_Parse_Decimal 11344.85054881055 ns/iter 11286.958054905957 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 5140343.272058805 ns/iter 5444306.297709523 ns/iter 0.94
JSON_Parse_Integer 4854.605052862396 ns/iter 4730.073973694604 ns/iter 1.03
JSON_Parse_String_NonSSO_Plain 8684.209911162148 ns/iter 8400.387534005635 ns/iter 1.03
JSON_Parse_String_SSO_Plain 4048.6749735843323 ns/iter 3800.6628563665467 ns/iter 1.07
JSON_Parse_String_Escape_Heavy 20833.373981800887 ns/iter 20968.887460383343 ns/iter 0.99
JSON_Parse_Object_Short_Keys 11823.43985281188 ns/iter 11219.250305762054 ns/iter 1.05
JSON_Parse_Object_Scalar_Properties 5854.512693337214 ns/iter 5816.94780987156 ns/iter 1.01
JSON_Parse_Object_Array_Properties 9254.691882625528 ns/iter 8912.611244550862 ns/iter 1.04
JSON_Parse_Object_Object_Properties 9133.104428941206 ns/iter 9686.110714630384 ns/iter 0.94
JSON_Parse_Nested_Containers 72769.0967641486 ns/iter 73658.37770276898 ns/iter 0.99
JSON_From_String_Copy 18.355793894966848 ns/iter 18.54471638733273 ns/iter 0.99
JSON_From_String_Temporary 15.417251900784773 ns/iter 15.351081142111923 ns/iter 1.00
JSON_Number_To_Double 20.581016536920576 ns/iter 20.65223117483126 ns/iter 1.00
JSON_Object_At_Last_Key/8 5.928417011495808 ns/iter 8.105893260984645 ns/iter 0.73
JSON_Object_At_Last_Key/32 21.823637063621703 ns/iter 31.482042015225012 ns/iter 0.69
JSON_Object_At_Last_Key/128 87.7227800778935 ns/iter 126.88170992903581 ns/iter 0.69
JSON_Object_At_Last_Key/512 426.59738655871246 ns/iter 519.5266962469217 ns/iter 0.82
JSON_Fast_Hash_Helm_Chart_Lock 71.4031755663919 ns/iter 67.22696395110646 ns/iter 1.06
JSON_Equality_Helm_Chart_Lock 152.6026532622131 ns/iter 158.30165054006451 ns/iter 0.96
JSON_Divisible_By_Decimal 241.59401364527233 ns/iter 241.39991259719238 ns/iter 1.00
JSON_String_Equal/10 5.651651071542118 ns/iter 6.310918418135741 ns/iter 0.90
JSON_String_Equal/100 6.273140358490703 ns/iter 6.9410628326230945 ns/iter 0.90
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6235845807463032 ns/iter 0.6237419064215026 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.215757450049544 ns/iter 25.2080361625355 ns/iter 1.00
JSON_String_Fast_Hash/10 0.9347265129474637 ns/iter 1.2465198754390001 ns/iter 0.75
JSON_String_Fast_Hash/100 0.9339633506187702 ns/iter 1.245552863327804 ns/iter 0.75
JSON_String_Key_Hash/10 1.2465274334501442 ns/iter 1.2506370731781886 ns/iter 1.00
JSON_String_Key_Hash/100 12.445658989542384 ns/iter 12.44610953804762 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.426401774771287 ns/iter 3.1140035869024723 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Small 3.422493279201762 ns/iter 3.113872857706961 ns/iter 1.10
JSON_Object_Defines_Miss_Too_Large 3.1123941485843174 ns/iter 3.425915007758453 ns/iter 0.91
Regex_Lower_S_Or_Upper_S_Asterisk 0.6237925115127186 ns/iter 0.6236578172205496 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.934641722762022 ns/iter 0.934619397827553 ns/iter 1.00
Regex_Period_Asterisk 0.9340157074272009 ns/iter 0.9379740842862501 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 0.6226716717229485 ns/iter 0.6230758312950878 ns/iter 1.00
Regex_Period_Plus 0.6224781175684366 ns/iter 0.6244389563798229 ns/iter 1.00
Regex_Period 0.9343810782313946 ns/iter 0.9347026722410481 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 0.9346843432981746 ns/iter 0.9352276089108519 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 0.6228341734926318 ns/iter 0.6223882373635566 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 0.6226329237521653 ns/iter 0.6227602038948159 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.9341731082697314 ns/iter 0.9396475446639633 ns/iter 0.99
Regex_Caret_X_Hyphen 4.048230948327778 ns/iter 4.049442619545601 ns/iter 1.00
Regex_Period_Md_Dollar 28.210898045065292 ns/iter 28.982502141287284 ns/iter 0.97
Regex_Caret_Slash_Period_Asterisk 4.358786315234356 ns/iter 4.353998700882703 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 1.2443494175006367 ns/iter 1.2456151391778543 ns/iter 1.00
Regex_Nested_Backtrack 35.666164203313684 ns/iter 35.73197987685436 ns/iter 1.00

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

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 50f5b48 Previous: 083a78b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.118883035704259 ns/iter 5.122337499999827 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 5.051124000001437 ns/iter 5.070172000000639 ns/iter 1.00
Regex_Period_Asterisk 5.16864017856733 ns/iter 5.187823999999637 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 5.173811000004207 ns/iter 5.188284000000749 ns/iter 1.00
Regex_Period_Plus 4.869450246623131 ns/iter 5.1813240000001315 ns/iter 0.94
Regex_Period 4.831819844830096 ns/iter 5.153692000001229 ns/iter 0.94
Regex_Caret_Period_Plus_Dollar 4.857622501080733 ns/iter 5.1047178571427105 ns/iter 0.95
Regex_Caret_Group_Period_Plus_Group_Dollar 4.930976251098819 ns/iter 5.174203999999918 ns/iter 0.95
Regex_Caret_Period_Asterisk_Dollar 5.0303209999947285 ns/iter 5.26157000000012 ns/iter 0.96
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.123352999999042 ns/iter 5.232974999998987 ns/iter 0.98
Regex_Caret_X_Hyphen 8.310553571431813 ns/iter 8.29982366071442 ns/iter 1.00
Regex_Period_Md_Dollar 44.69470250279248 ns/iter 45.42114602302494 ns/iter 0.98
Regex_Caret_Slash_Period_Asterisk 7.849502232143582 ns/iter 7.929854910714137 ns/iter 0.99
Regex_Caret_Period_Range_Dollar 5.668469642858197 ns/iter 5.8625508928571435 ns/iter 0.97
Regex_Nested_Backtrack 54.18391071430051 ns/iter 55.26943749998737 ns/iter 0.98
JSON_Array_Of_Objects_Unique 487.17872956749534 ns/iter 530.2682999999888 ns/iter 0.92
JSON_Parse_1 9103.314717328629 ns/iter 9299.875446983855 ns/iter 0.98
JSON_Parse_Real 16009.580357133147 ns/iter 16508.35491071336 ns/iter 0.97
JSON_Parse_Decimal 11900.00781249978 ns/iter 11954.962499999056 ns/iter 1.00
JSON_Parse_Schema_ISO_Language 7636815.17857354 ns/iter 7623668.749999979 ns/iter 1.00
JSON_Parse_Integer 6166.522321434188 ns/iter 6282.2419642856175 ns/iter 0.98
JSON_Parse_String_NonSSO_Plain 7956.601562507818 ns/iter 7875.37276785853 ns/iter 1.01
JSON_Parse_String_SSO_Plain 3712.7960485797644 ns/iter 3567.5609507840004 ns/iter 1.04
JSON_Parse_String_Escape_Heavy 21659.6134873009 ns/iter 22197.618749999037 ns/iter 0.98
JSON_Parse_Object_Short_Keys 13452.665836331693 ns/iter 13578.492506731676 ns/iter 0.99
JSON_Parse_Object_Scalar_Properties 6851.543526786535 ns/iter 7036.531249998542 ns/iter 0.97
JSON_Parse_Object_Array_Properties 11588.45937501951 ns/iter 11660.684374998455 ns/iter 0.99
JSON_Parse_Object_Object_Properties 11618.562499994108 ns/iter 11782.978124998066 ns/iter 0.99
JSON_Parse_Nested_Containers 79147.17633923373 ns/iter 82065.36761751761 ns/iter 0.96
JSON_From_String_Copy 63.99116071422993 ns/iter 66.47016071428068 ns/iter 0.96
JSON_From_String_Temporary 59.117459999833954 ns/iter 59.60272321429119 ns/iter 0.99
JSON_Number_To_Double 122.35821428573347 ns/iter 121.24799999997192 ns/iter 1.01
JSON_Object_At_Last_Key/8 7.217748883923442 ns/iter 7.418236607141487 ns/iter 0.97
JSON_Object_At_Last_Key/32 23.49044170214486 ns/iter 23.884476295931538 ns/iter 0.98
JSON_Object_At_Last_Key/128 90.40752721399456 ns/iter 92.98822352730258 ns/iter 0.97
JSON_Object_At_Last_Key/512 420.1007500000742 ns/iter 428.72895882251674 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 61.97196428583343 ns/iter 72.40224999999815 ns/iter 0.86
JSON_Equality_Helm_Chart_Lock 311.56285714278704 ns/iter 308.976778015999 ns/iter 1.01
JSON_Divisible_By_Decimal 300.6627521584863 ns/iter 310.2827309951834 ns/iter 0.97
JSON_String_Equal/10 15.967950892843417 ns/iter 16.44899776785788 ns/iter 0.97
JSON_String_Equal/100 17.175065956397003 ns/iter 17.75211980135925 ns/iter 0.97
JSON_String_Equal_Small_By_Perfect_Hash/10 2.5067185714241145 ns/iter 2.5330553571425947 ns/iter 0.99
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.29251116072854 ns/iter 15.236984375001887 ns/iter 0.94
JSON_String_Fast_Hash/10 5.031550000003335 ns/iter 5.178413392856994 ns/iter 0.97
JSON_String_Fast_Hash/100 5.048837000013009 ns/iter 5.1693299999988085 ns/iter 0.98
JSON_String_Key_Hash/10 5.479004999997414 ns/iter 5.383613999999852 ns/iter 1.02
JSON_String_Key_Hash/100 11.941167857133093 ns/iter 11.977708928571115 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 5.025413000003027 ns/iter 5.085670000000846 ns/iter 0.99
JSON_Object_Defines_Miss_Too_Small 4.153177364224613 ns/iter 4.1173536234241075 ns/iter 1.01
JSON_Object_Defines_Miss_Too_Large 4.094435900165861 ns/iter 4.176473444957836 ns/iter 0.98
Pointer_Object_Traverse 67.56533928572546 ns/iter 68.63519642856936 ns/iter 0.98
Pointer_Object_Try_Traverse 67.74202008910737 ns/iter 67.9863749999957 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 182.7325278615607 ns/iter 172.26452939271317 ns/iter 1.06
Pointer_Walker_Schema_ISO_Language 6856283.035712555 ns/iter 7756720.000000111 ns/iter 0.88
Pointer_Maybe_Tracked_Deeply_Nested/0 2374170.568559611 ns/iter 2368509.09090928 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 3657719.999999897 ns/iter 3645621.9251332106 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 557.1670758927537 ns/iter 516.626570315726 ns/iter 1.08
URITemplateRouter_Create 40133.85758227532 ns/iter 39796.674107149345 ns/iter 1.01
URITemplateRouter_Match 190.9288027614917 ns/iter 189.66984729193234 ns/iter 1.01
URITemplateRouter_Match_BasePath 216.88163094252286 ns/iter 223.99300785745913 ns/iter 0.97
URITemplateRouterView_Restore 33397.47808555406 ns/iter 35744.902769587774 ns/iter 0.93
URITemplateRouterView_Match 155.47698660733593 ns/iter 163.1455287820766 ns/iter 0.95
URITemplateRouterView_Match_BasePath 178.88778206809397 ns/iter 179.52654327188185 ns/iter 1.00
URITemplateRouterView_Arguments 530.1930999994511 ns/iter 538.9368750000147 ns/iter 0.98
JSONL_Parse_Large 33376714.999940306 ns/iter 34792680.95238045 ns/iter 0.96
JSONL_Parse_Large_GZIP 34414014.99994754 ns/iter 36217968.18181751 ns/iter 0.95
HTML_Build_Table_100000 90117285.71411887 ns/iter 90498785.71428442 ns/iter 1.00
HTML_Render_Table_100000 7985773.333324081 ns/iter 7275500.000001659 ns/iter 1.10
GZIP_Compress_ISO_Language_Set_3_Locations 35502152.63155559 ns/iter 38389889.99999629 ns/iter 0.92
GZIP_Decompress_ISO_Language_Set_3_Locations 10106454.687502265 ns/iter 9708775.99999767 ns/iter 1.04
GZIP_Compress_ISO_Language_Set_3_Schema 2090780.2898548562 ns/iter 2199017.97101451 ns/iter 0.95
GZIP_Decompress_ISO_Language_Set_3_Schema 637544.1071424704 ns/iter 627547.1428572083 ns/iter 1.02
JOSE_VerifySignature_RS256 36852.92762630196 ns/iter
JOSE_VerifySignature_ES512 1699483.046683649 ns/iter
JOSE_Verify_RS256 40586.036280406144 ns/iter
JOSE_Verify_ES512 1708406.8796028288 ns/iter

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

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

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: 50f5b48 Previous: 083a78b Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9214807591403957 ns/iter 2.4657357380214573 ns/iter 0.78
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9197590544063285 ns/iter 2.4630912831778535 ns/iter 0.78
Regex_Period_Asterisk 2.1808487740392017 ns/iter 2.4639579539326646 ns/iter 0.89
Regex_Group_Period_Asterisk_Group 2.182928383885565 ns/iter 2.4706941317629325 ns/iter 0.88
Regex_Period_Plus 3.0000338229232573 ns/iter 3.873963545281633 ns/iter 0.77
Regex_Period 3.0042825131061415 ns/iter 3.5148714295817394 ns/iter 0.85
Regex_Caret_Period_Plus_Dollar 3.275117736352045 ns/iter 3.5153675126391297 ns/iter 0.93
Regex_Caret_Group_Period_Plus_Group_Dollar 3.274435395087074 ns/iter 3.8673666501067947 ns/iter 0.85
Regex_Caret_Period_Asterisk_Dollar 2.1963967085484906 ns/iter 2.8147828994459636 ns/iter 0.78
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.195156956176096 ns/iter 2.4625750423401453 ns/iter 0.89
Regex_Caret_X_Hyphen 5.457645550499849 ns/iter 6.9492795107966225 ns/iter 0.79
Regex_Period_Md_Dollar 20.64477547989693 ns/iter 28.146783107505904 ns/iter 0.73
Regex_Caret_Slash_Period_Asterisk 5.053363626592152 ns/iter 7.410466217794038 ns/iter 0.68
Regex_Caret_Period_Range_Dollar 1.9101515561252673 ns/iter 3.5220696367711843 ns/iter 0.54
Regex_Nested_Backtrack 29.432150099249487 ns/iter 37.89726482964449 ns/iter 0.78
JSON_Array_Of_Objects_Unique 334.60658386824423 ns/iter 471.1432559884025 ns/iter 0.71
JSON_Parse_1 3610.9900920646514 ns/iter 4609.562811666875 ns/iter 0.78
JSON_Parse_Real 3958.2613413793288 ns/iter 5090.940960132026 ns/iter 0.78
JSON_Parse_Decimal 6121.020024669757 ns/iter 7814.41894432839 ns/iter 0.78
JSON_Parse_Schema_ISO_Language 2818248.248995971 ns/iter 3530977.944444313 ns/iter 0.80
JSON_Parse_Integer 3071.983095847268 ns/iter 3975.8234330074556 ns/iter 0.77
JSON_Parse_String_NonSSO_Plain 4075.7870389238556 ns/iter 5023.735370000395 ns/iter 0.81
JSON_Parse_String_SSO_Plain 2282.714050530829 ns/iter 2827.333337368443 ns/iter 0.81
JSON_Parse_String_Escape_Heavy 11077.833130309455 ns/iter 14624.831478669672 ns/iter 0.76
JSON_Parse_Object_Short_Keys 6254.987916945919 ns/iter 8001.793793747903 ns/iter 0.78
JSON_Parse_Object_Scalar_Properties 3335.48917095569 ns/iter 4107.0868380740985 ns/iter 0.81
JSON_Parse_Object_Array_Properties 4664.019488866748 ns/iter 5494.124650025202 ns/iter 0.85
JSON_Parse_Object_Object_Properties 4640.227977145484 ns/iter 5521.608801013049 ns/iter 0.84
JSON_Parse_Nested_Containers 34958.78643103017 ns/iter 45214.552816219 ns/iter 0.77
JSON_From_String_Copy 18.152645756685818 ns/iter 21.85370723458499 ns/iter 0.83
JSON_From_String_Temporary 15.823797883562943 ns/iter 18.998418532549167 ns/iter 0.83
JSON_Number_To_Double 17.683987949838272 ns/iter 22.858354601526575 ns/iter 0.77
JSON_Object_At_Last_Key/8 3.645597892183575 ns/iter 3.870386806718594 ns/iter 0.94
JSON_Object_At_Last_Key/32 10.516667214938757 ns/iter 13.014988663119135 ns/iter 0.81
JSON_Object_At_Last_Key/128 42.99721471383267 ns/iter 46.76249997819 ns/iter 0.92
JSON_Object_At_Last_Key/512 283.52440164617093 ns/iter 362.91083156185 ns/iter 0.78
JSON_Fast_Hash_Helm_Chart_Lock 56.46166172885113 ns/iter 70.27794905839956 ns/iter 0.80
JSON_Equality_Helm_Chart_Lock 120.60831923544211 ns/iter 187.55945961364353 ns/iter 0.64
JSON_Divisible_By_Decimal 197.34209319587578 ns/iter 255.46023487492738 ns/iter 0.77
JSON_String_Equal/10 4.908822764278508 ns/iter 5.629273233762242 ns/iter 0.87
JSON_String_Equal/100 5.731733958689339 ns/iter 6.33620958309794 ns/iter 0.90
JSON_String_Equal_Small_By_Perfect_Hash/10 0.81807141617681 ns/iter 1.0547291978837088 ns/iter 0.78
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.57317093590002 ns/iter 12.343433429218285 ns/iter 0.78
JSON_String_Fast_Hash/10 1.9097939864912985 ns/iter 2.4635263977684856 ns/iter 0.78
JSON_String_Fast_Hash/100 1.91036091328649 ns/iter 2.4669152855826804 ns/iter 0.77
JSON_String_Key_Hash/10 1.9094946141245064 ns/iter 2.467921894239536 ns/iter 0.77
JSON_String_Key_Hash/100 5.997743347708192 ns/iter 8.086070781134147 ns/iter 0.74
JSON_Object_Defines_Miss_Same_Length 2.281924843870278 ns/iter 2.901525633900421 ns/iter 0.79
JSON_Object_Defines_Miss_Too_Small 2.3010220112400184 ns/iter 4.236007930460479 ns/iter 0.54
JSON_Object_Defines_Miss_Too_Large 2.3500983986021553 ns/iter 2.9137266147224365 ns/iter 0.81
Pointer_Object_Traverse 23.853615354864917 ns/iter 25.537001747421158 ns/iter 0.93
Pointer_Object_Try_Traverse 27.425110010172236 ns/iter 30.672030433591885 ns/iter 0.89
Pointer_Push_Back_Pointer_To_Weak_Pointer 151.47358032751802 ns/iter 183.64775943287918 ns/iter 0.82
Pointer_Walker_Schema_ISO_Language 1356487.2674417673 ns/iter 1817091.9947779684 ns/iter 0.75
Pointer_Maybe_Tracked_Deeply_Nested/0 984760.2230114464 ns/iter 1257619.9204338426 ns/iter 0.78
Pointer_Maybe_Tracked_Deeply_Nested/1 1247876.118794282 ns/iter 1589351.3013696827 ns/iter 0.79
Pointer_Position_Tracker_Get_Deeply_Nested 547.7455448684473 ns/iter 698.4666794126219 ns/iter 0.78
URITemplateRouter_Create 23491.913813382467 ns/iter 29966.84520097528 ns/iter 0.78
URITemplateRouter_Match 132.0757691595015 ns/iter 183.1242260137689 ns/iter 0.72
URITemplateRouter_Match_BasePath 152.8382694231909 ns/iter 223.75551238063244 ns/iter 0.68
URITemplateRouterView_Restore 6745.3662094028705 ns/iter 8697.92105070984 ns/iter 0.78
URITemplateRouterView_Match 127.40741252905327 ns/iter 146.46347255016147 ns/iter 0.87
URITemplateRouterView_Match_BasePath 146.52603886286226 ns/iter 166.87099698073456 ns/iter 0.88
URITemplateRouterView_Arguments 347.9778776085127 ns/iter 453.7807003095235 ns/iter 0.77
JSONL_Parse_Large 7711006.956043633 ns/iter 9208748.289474418 ns/iter 0.84
JSONL_Parse_Large_GZIP 8980897.923076252 ns/iter 10942285.07812467 ns/iter 0.82
HTML_Build_Table_100000 58829082.25000468 ns/iter 71974223.30000336 ns/iter 0.82
HTML_Render_Table_100000 4413136.86792455 ns/iter 5217877.883721534 ns/iter 0.85
GZIP_Compress_ISO_Language_Set_3_Locations 27198091.307695903 ns/iter 35743676.449999385 ns/iter 0.76
GZIP_Decompress_ISO_Language_Set_3_Locations 2867047.2868853146 ns/iter 4282044.546012365 ns/iter 0.67
GZIP_Compress_ISO_Language_Set_3_Schema 1609005.306451558 ns/iter 2135295.804877978 ns/iter 0.75
GZIP_Decompress_ISO_Language_Set_3_Schema 196869.41153307684 ns/iter 276299.2343873484 ns/iter 0.71
JOSE_VerifySignature_RS256 50136.313687671114 ns/iter
JOSE_VerifySignature_ES512 7986511.795455054 ns/iter
JOSE_Verify_RS256 51421.90747278652 ns/iter
JOSE_Verify_ES512 8007929.482757923 ns/iter

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

@jviotti jviotti merged commit 497c896 into main Jun 16, 2026
13 checks passed
@jviotti jviotti deleted the benchmark-jose branch June 16, 2026 20:48
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