Skip to content

Make use of JSONObject::Entry::key_equals in src/core/jsonld#2547

Merged
jviotti merged 1 commit into
mainfrom
use-key-equals
Jun 27, 2026
Merged

Make use of JSONObject::Entry::key_equals in src/core/jsonld#2547
jviotti merged 1 commit into
mainfrom
use-key-equals

Conversation

@jviotti

@jviotti jviotti commented Jun 27, 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 4 files

Re-trigger cubic

@augmentcode

augmentcode Bot commented Jun 27, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR refactors JSON-LD processing code to use JSONObject::Entry::key_equals for keyword comparisons.

Changes:

  • Replaced multiple ==/!= string-view keyword checks with entry.key_equals(keyword, keyword_hash) in context processing, term definition creation, and expansion.
  • Updated reverse-property handling to compare keys via key_equals instead of relying on raw hash equality.
  • Minor documentation formatting tweaks in the public JSON-LD header examples.

Technical Notes: Centralizes keyword checks on the entry helper (likely leveraging precomputed key hashes) while keeping JSON-LD semantics unchanged.

🤖 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. No suggestions at this time.

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

@jviotti jviotti merged commit a131a9b into main Jun 27, 2026
12 checks passed
@jviotti jviotti deleted the use-key-equals branch June 27, 2026 23:16

@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: 72fa6c7 Previous: 9bd9962 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.7519111228171333 ns/iter 2.1977473302541237 ns/iter 0.80
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.7790890774904344 ns/iter 2.2790026980540925 ns/iter 0.78
Regex_Period_Asterisk 2.028897913137303 ns/iter 2.5040028992324728 ns/iter 0.81
Regex_Group_Period_Asterisk_Group 1.7185430221601317 ns/iter 2.4302953107283494 ns/iter 0.71
Regex_Period_Plus 1.8999526269657623 ns/iter 2.2985352157272847 ns/iter 0.83
Regex_Period 1.8973906176053736 ns/iter 2.154129320826534 ns/iter 0.88
Regex_Caret_Period_Plus_Dollar 1.963097536521691 ns/iter 2.197327822508357 ns/iter 0.89
Regex_Caret_Group_Period_Plus_Group_Dollar 1.9076394874202733 ns/iter 2.17695409947399 ns/iter 0.88
Regex_Caret_Period_Asterisk_Dollar 1.5888380633246302 ns/iter 1.8068667655858368 ns/iter 0.88
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.5991674911221345 ns/iter 1.7976249469721304 ns/iter 0.89
Regex_Caret_X_Hyphen 5.678866432494835 ns/iter 6.376010344838254 ns/iter 0.89
Regex_Period_Md_Dollar 16.922329665234535 ns/iter 17.687028165464834 ns/iter 0.96
Regex_Caret_Slash_Period_Asterisk 4.144388019307086 ns/iter 4.410651986295522 ns/iter 0.94
Regex_Caret_Period_Range_Dollar 1.9055124484379025 ns/iter 2.0362676646185607 ns/iter 0.94
Regex_Nested_Backtrack 24.024325844619746 ns/iter 24.061372093079317 ns/iter 1.00
JSON_Array_Of_Objects_Unique 316.38271231426467 ns/iter 372.53748332966677 ns/iter 0.85
JSON_Parse_1 4882.309485049619 ns/iter 5177.199010213301 ns/iter 0.94
JSON_Parse_Real 5639.740149616141 ns/iter 6209.571812188749 ns/iter 0.91
JSON_Parse_Decimal 6714.0925408713465 ns/iter 6827.5013554385705 ns/iter 0.98
JSON_Parse_Schema_ISO_Language 2898829.862499497 ns/iter 3320053.240740448 ns/iter 0.87
JSON_Parse_Integer 3630.2562457006156 ns/iter 3909.0439576375993 ns/iter 0.93
JSON_Parse_String_NonSSO_Plain 5121.501505403461 ns/iter 5303.755890341191 ns/iter 0.97
JSON_Parse_String_SSO_Plain 2200.832878586888 ns/iter 2358.79694906606 ns/iter 0.93
JSON_Parse_String_Escape_Heavy 18448.146392529838 ns/iter 18766.424029908896 ns/iter 0.98
JSON_Parse_Object_Short_Keys 6193.066123310159 ns/iter 6646.855657695655 ns/iter 0.93
JSON_Parse_Object_Scalar_Properties 3267.2418559794646 ns/iter 3427.0086538649507 ns/iter 0.95
JSON_Parse_Object_Array_Properties 5008.887011876532 ns/iter 5453.5436687499105 ns/iter 0.92
JSON_Parse_Object_Object_Properties 5182.655103001663 ns/iter 5657.016519165154 ns/iter 0.92
JSON_Parse_Nested_Containers 41894.00142978734 ns/iter 44355.76634328953 ns/iter 0.94
JSON_From_String_Copy 21.93744604896645 ns/iter 22.778811194965694 ns/iter 0.96
JSON_From_String_Temporary 18.98709186127876 ns/iter 19.061254983995976 ns/iter 1.00
JSON_Number_To_Double 30.53842558358954 ns/iter 32.37169702892856 ns/iter 0.94
JSON_Object_At_Last_Key/8 3.4894674525016804 ns/iter 3.6152681142966245 ns/iter 0.97
JSON_Object_At_Last_Key/32 11.068805315361887 ns/iter 11.872854228742568 ns/iter 0.93
JSON_Object_At_Last_Key/128 52.259566881173434 ns/iter 53.22054815699974 ns/iter 0.98
JSON_Object_At_Last_Key/512 174.59055984153812 ns/iter 187.4101956077866 ns/iter 0.93
JSON_Fast_Hash_Helm_Chart_Lock 55.194638094271 ns/iter 57.65005182056779 ns/iter 0.96
JSON_Equality_Helm_Chart_Lock 125.7905268299685 ns/iter 136.98694283693644 ns/iter 0.92
JSON_Divisible_By_Decimal 164.42254107132877 ns/iter 178.77026995699853 ns/iter 0.92
JSON_String_Equal/10 6.847845555207987 ns/iter 6.788491480726183 ns/iter 1.01
JSON_String_Equal/100 6.719696287572112 ns/iter 6.454023208945862 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.34484421273270094 ns/iter 0.33249209299555843 ns/iter 1.04
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 5.172195000004649 ns/iter 3.6710505850873387 ns/iter 1.41
JSON_String_Fast_Hash/10 2.6668893516201058 ns/iter 2.3787465153341216 ns/iter 1.12
JSON_String_Fast_Hash/100 1.9879351315945661 ns/iter 1.9845755457586671 ns/iter 1.00
JSON_String_Key_Hash/10 1.8953868411281416 ns/iter 2.038665446376485 ns/iter 0.93
JSON_String_Key_Hash/100 1.9701628471866692 ns/iter 2.010519791277932 ns/iter 0.98
JSON_Object_Defines_Miss_Same_Length 2.57925115942957 ns/iter 2.7205319816918574 ns/iter 0.95
JSON_Object_Defines_Miss_Too_Small 2.529766792811522 ns/iter 2.631134462586127 ns/iter 0.96
JSON_Object_Defines_Miss_Too_Large 2.538086482660206 ns/iter 2.7181995349662715 ns/iter 0.93
Pointer_Object_Traverse 17.54402617531558 ns/iter 18.543442528257923 ns/iter 0.95
Pointer_Object_Try_Traverse 16.68381396968096 ns/iter 17.85719019431515 ns/iter 0.93
Pointer_Push_Back_Pointer_To_Weak_Pointer 148.43017095959416 ns/iter 173.91466973302903 ns/iter 0.85
Pointer_Walker_Schema_ISO_Language 1411914.4787878443 ns/iter 1511829.3478261204 ns/iter 0.93
Pointer_Maybe_Tracked_Deeply_Nested/0 951334.0149860794 ns/iter 987512.9370629066 ns/iter 0.96
Pointer_Maybe_Tracked_Deeply_Nested/1 1002442.7092391959 ns/iter 1016180.0724638166 ns/iter 0.99
Pointer_Position_Tracker_Get_Deeply_Nested 315.89200213137906 ns/iter 353.6188425356133 ns/iter 0.89
URITemplateRouter_Create 21587.13290925562 ns/iter 23292.45476077687 ns/iter 0.93
URITemplateRouter_Match 161.1006086933743 ns/iter 179.23636663433822 ns/iter 0.90
URITemplateRouter_Match_BasePath 184.55295363808594 ns/iter 197.79177553152164 ns/iter 0.93
URITemplateRouterView_Restore 9639.652036017604 ns/iter 9900.14990006706 ns/iter 0.97
URITemplateRouterView_Match 127.00654952293486 ns/iter 136.61507467168104 ns/iter 0.93
URITemplateRouterView_Match_BasePath 143.50375064112478 ns/iter 157.84734668197154 ns/iter 0.91
URITemplateRouterView_Arguments 517.5319539440325 ns/iter 540.615065538311 ns/iter 0.96
JSONL_Parse_Large 9420038.821912859 ns/iter 10273914.805970008 ns/iter 0.92
JSONL_Parse_Large_GZIP 10304342.514700694 ns/iter 10867495.290322114 ns/iter 0.95
HTML_Build_Table_100000 33905795.666690946 ns/iter 36000024.1052639 ns/iter 0.94
HTML_Render_Table_100000 1597980.9352687977 ns/iter 1459281.2729212297 ns/iter 1.10
GZIP_Compress_ISO_Language_Set_3_Locations 26291757.99998288 ns/iter 29318137.84615018 ns/iter 0.90
GZIP_Decompress_ISO_Language_Set_3_Locations 3055553.9746818934 ns/iter 3291571.8333335067 ns/iter 0.93
GZIP_Compress_ISO_Language_Set_3_Schema 1493155.4024396457 ns/iter 1564075.152967984 ns/iter 0.95
GZIP_Decompress_ISO_Language_Set_3_Schema 249202.2723375049 ns/iter 269766.9508729287 ns/iter 0.92
JOSE_VerifySignature_RS256 20596.065993479573 ns/iter 22275.05986365357 ns/iter 0.92
JOSE_VerifySignature_ES512 1042382.3607788746 ns/iter 1132685.274322167 ns/iter 0.92

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: 72fa6c7 Previous: 9bd9962 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9130009314046625 ns/iter 2.222061820250168 ns/iter 0.86
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9119037811799418 ns/iter 2.1862825821778156 ns/iter 0.87
Regex_Period_Asterisk 1.9080340191222893 ns/iter 2.214808114484256 ns/iter 0.86
Regex_Group_Period_Asterisk_Group 1.908915560459144 ns/iter 2.194331270567824 ns/iter 0.87
Regex_Period_Plus 2.725996270228965 ns/iter 2.490766721326448 ns/iter 1.09
Regex_Period 2.7262149762290706 ns/iter 2.491647571287722 ns/iter 1.09
Regex_Caret_Period_Plus_Dollar 2.999591479728723 ns/iter 2.8015471981861535 ns/iter 1.07
Regex_Caret_Group_Period_Plus_Group_Dollar 2.9984291977506237 ns/iter 2.8134797151070043 ns/iter 1.07
Regex_Caret_Period_Asterisk_Dollar 1.908559373281544 ns/iter 3.117103120766949 ns/iter 0.61
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.9091607438521565 ns/iter 3.112657110198225 ns/iter 0.61
Regex_Caret_X_Hyphen 5.45193505607209 ns/iter 6.856944726896996 ns/iter 0.80
Regex_Period_Md_Dollar 20.49618677887517 ns/iter 32.0432031703998 ns/iter 0.64
Regex_Caret_Slash_Period_Asterisk 5.180383837702631 ns/iter 6.847915047696884 ns/iter 0.76
Regex_Caret_Period_Range_Dollar 3.001400431962845 ns/iter 3.735570545499587 ns/iter 0.80
Regex_Nested_Backtrack 29.319917262464433 ns/iter 59.69165987027681 ns/iter 0.49
JSON_Array_Of_Objects_Unique 339.4648610905487 ns/iter 403.2626652001537 ns/iter 0.84
JSON_Parse_1 3743.1838286813663 ns/iter 4944.206203164479 ns/iter 0.76
JSON_Parse_Real 3986.805029079387 ns/iter 5381.652409200348 ns/iter 0.74
JSON_Parse_Decimal 5892.445725499139 ns/iter 7722.572347160384 ns/iter 0.76
JSON_Parse_Schema_ISO_Language 2869640.859504321 ns/iter 3458950.2941173576 ns/iter 0.83
JSON_Parse_Integer 3001.3831685630653 ns/iter 3841.836342460924 ns/iter 0.78
JSON_Parse_String_NonSSO_Plain 4023.956105480069 ns/iter 5088.314129722479 ns/iter 0.79
JSON_Parse_String_SSO_Plain 2286.9229372216923 ns/iter 2845.823130522385 ns/iter 0.80
JSON_Parse_String_Escape_Heavy 11141.576865132842 ns/iter 14477.550814995651 ns/iter 0.77
JSON_Parse_Object_Short_Keys 6548.712398105865 ns/iter 10751.024528738566 ns/iter 0.61
JSON_Parse_Object_Scalar_Properties 3322.6137342519073 ns/iter 4216.61200862565 ns/iter 0.79
JSON_Parse_Object_Array_Properties 4514.71361408517 ns/iter 5555.977388064266 ns/iter 0.81
JSON_Parse_Object_Object_Properties 4481.30758563391 ns/iter 5505.102743000951 ns/iter 0.81
JSON_Parse_Nested_Containers 35531.75213371112 ns/iter 44564.210228370204 ns/iter 0.80
JSON_From_String_Copy 16.64233605643141 ns/iter 19.927145619072746 ns/iter 0.84
JSON_From_String_Temporary 13.909078862738848 ns/iter 17.145665852493917 ns/iter 0.81
JSON_Number_To_Double 17.678915324497055 ns/iter 24.049772626204213 ns/iter 0.74
JSON_Object_At_Last_Key/8 3.6530854667140997 ns/iter 3.577516870840119 ns/iter 1.02
JSON_Object_At_Last_Key/32 10.528175275775075 ns/iter 11.88420210401514 ns/iter 0.89
JSON_Object_At_Last_Key/128 36.6663738177834 ns/iter 48.95620248194268 ns/iter 0.75
JSON_Object_At_Last_Key/512 282.33381269759207 ns/iter 388.6720946653209 ns/iter 0.73
JSON_Fast_Hash_Helm_Chart_Lock 53.182439534770616 ns/iter 56.74226471064952 ns/iter 0.94
JSON_Equality_Helm_Chart_Lock 138.85307893616655 ns/iter 171.11273399995238 ns/iter 0.81
JSON_Divisible_By_Decimal 197.30304583649362 ns/iter 252.79784856865837 ns/iter 0.78
JSON_String_Equal/10 5.180405865677426 ns/iter 6.857781986337883 ns/iter 0.76
JSON_String_Equal/100 6.0006100083576355 ns/iter 7.499895711869911 ns/iter 0.80
JSON_String_Equal_Small_By_Perfect_Hash/10 0.8180522088549639 ns/iter 0.9363580196892896 ns/iter 0.87
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.62429578629276 ns/iter 10.583940739517065 ns/iter 0.91
JSON_String_Fast_Hash/10 1.6393918399196952 ns/iter 2.1814210440673767 ns/iter 0.75
JSON_String_Fast_Hash/100 1.6591840053258342 ns/iter 2.180208234382822 ns/iter 0.76
JSON_String_Key_Hash/10 1.9086190654606183 ns/iter 2.1825552614079946 ns/iter 0.87
JSON_String_Key_Hash/100 5.9962746115349645 ns/iter 6.538989593983068 ns/iter 0.92
JSON_Object_Defines_Miss_Same_Length 2.264227160451743 ns/iter 2.5677375110001672 ns/iter 0.88
JSON_Object_Defines_Miss_Too_Small 2.281931270838399 ns/iter 2.541467583081629 ns/iter 0.90
JSON_Object_Defines_Miss_Too_Large 2.2919704062563313 ns/iter 2.535667187072911 ns/iter 0.90
Pointer_Object_Traverse 19.806210051568748 ns/iter 24.021193715646465 ns/iter 0.82
Pointer_Object_Try_Traverse 23.85641501947869 ns/iter 28.472007092553017 ns/iter 0.84
Pointer_Push_Back_Pointer_To_Weak_Pointer 136.64013590160982 ns/iter 158.36228502391762 ns/iter 0.86
Pointer_Walker_Schema_ISO_Language 1350087.7996108662 ns/iter 1688405.9769229984 ns/iter 0.80
Pointer_Maybe_Tracked_Deeply_Nested/0 1015780.4721407472 ns/iter 1296106.3654915835 ns/iter 0.78
Pointer_Maybe_Tracked_Deeply_Nested/1 1568899.7834821807 ns/iter 1767196.6335876703 ns/iter 0.89
Pointer_Position_Tracker_Get_Deeply_Nested 566.0000561630454 ns/iter 689.9822631703139 ns/iter 0.82
URITemplateRouter_Create 22647.931176168062 ns/iter 31750.516145126112 ns/iter 0.71
URITemplateRouter_Match 131.67796820075824 ns/iter 178.20169159288457 ns/iter 0.74
URITemplateRouter_Match_BasePath 152.76063763591486 ns/iter 203.2053536237867 ns/iter 0.75
URITemplateRouterView_Restore 6746.21721910019 ns/iter 7890.310873886257 ns/iter 0.86
URITemplateRouterView_Match 128.07450903732334 ns/iter 165.55106281963216 ns/iter 0.77
URITemplateRouterView_Match_BasePath 149.26001786581847 ns/iter 190.8526224788968 ns/iter 0.78
URITemplateRouterView_Arguments 349.81421861635215 ns/iter 433.0769143620559 ns/iter 0.81
JSONL_Parse_Large 7515109.473683878 ns/iter 9974570.900000604 ns/iter 0.75
JSONL_Parse_Large_GZIP 8743591.975000698 ns/iter 11558794.016393416 ns/iter 0.76
HTML_Build_Table_100000 57398666.75000372 ns/iter 68444979.70000702 ns/iter 0.84
HTML_Render_Table_100000 4415039.943749832 ns/iter 5300937.885496181 ns/iter 0.83
GZIP_Compress_ISO_Language_Set_3_Locations 27537958.759999126 ns/iter 34372516.23809277 ns/iter 0.80
GZIP_Decompress_ISO_Language_Set_3_Locations 2882823.4795078696 ns/iter 4132324.7309941645 ns/iter 0.70
GZIP_Compress_ISO_Language_Set_3_Schema 1634685.8785048225 ns/iter 1889721.710810861 ns/iter 0.87
GZIP_Decompress_ISO_Language_Set_3_Schema 196663.05126048514 ns/iter 351976.86791498744 ns/iter 0.56
JOSE_VerifySignature_RS256 49926.65344913423 ns/iter 58775.5839137628 ns/iter 0.85
JOSE_VerifySignature_ES512 2138549.5688072983 ns/iter 2439104.622377746 ns/iter 0.88

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: 72fa6c7 Previous: 9bd9962 Ratio
JOSE_VerifySignature_RS256 22284.551794347804 ns/iter 21334.71759273215 ns/iter 1.04
JOSE_VerifySignature_ES512 578477.2680497486 ns/iter 540065.8281972866 ns/iter 1.07
GZIP_Compress_ISO_Language_Set_3_Locations 36511044.05263308 ns/iter 31537553.090908494 ns/iter 1.16
GZIP_Decompress_ISO_Language_Set_3_Locations 4114898.218934813 ns/iter 4452034.302158713 ns/iter 0.92
GZIP_Compress_ISO_Language_Set_3_Schema 2014082.5718390942 ns/iter 2024854.4855489514 ns/iter 0.99
GZIP_Decompress_ISO_Language_Set_3_Schema 376890.17970862077 ns/iter 350323.72244484373 ns/iter 1.08
HTML_Build_Table_100000 59640536.24999603 ns/iter 58969063.58333353 ns/iter 1.01
HTML_Render_Table_100000 1813566.67277489 ns/iter 2950764.895832947 ns/iter 0.61
JSONL_Parse_Large 13230804.377359025 ns/iter 12390503.368421156 ns/iter 1.07
JSONL_Parse_Large_GZIP 14628055.333335036 ns/iter 13757643.559999907 ns/iter 1.06
URITemplateRouter_Create 30697.169894634728 ns/iter 27494.592997208187 ns/iter 1.12
URITemplateRouter_Match 155.7318077149619 ns/iter 142.39315339933856 ns/iter 1.09
URITemplateRouter_Match_BasePath 180.25882733620614 ns/iter 161.56362360524292 ns/iter 1.12
URITemplateRouterView_Restore 7802.210647742458 ns/iter 3429.773390771487 ns/iter 2.27
URITemplateRouterView_Match 126.18272909843255 ns/iter 118.62319463637168 ns/iter 1.06
URITemplateRouterView_Match_BasePath 143.8436448792779 ns/iter 132.63110878159083 ns/iter 1.08
URITemplateRouterView_Arguments 471.5307877936857 ns/iter 539.5938885580626 ns/iter 0.87
Pointer_Object_Traverse 28.33493412957947 ns/iter 29.697032104019545 ns/iter 0.95
Pointer_Object_Try_Traverse 23.405515910603253 ns/iter 24.548353047835914 ns/iter 0.95
Pointer_Push_Back_Pointer_To_Weak_Pointer 152.06072564194008 ns/iter 156.91331800964662 ns/iter 0.97
Pointer_Walker_Schema_ISO_Language 1851198.0157897093 ns/iter 1739390.4129351573 ns/iter 1.06
Pointer_Maybe_Tracked_Deeply_Nested/0 1524766.606127047 ns/iter 1536429.4366812587 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/1 1686002.0719424537 ns/iter 1957722.4515235147 ns/iter 0.86
Pointer_Position_Tracker_Get_Deeply_Nested 533.669538364638 ns/iter 631.8961262978777 ns/iter 0.84
JSON_Array_Of_Objects_Unique 406.8474411226411 ns/iter 321.16750701182025 ns/iter 1.27
JSON_Parse_1 7534.361603212874 ns/iter 6776.060770572959 ns/iter 1.11
JSON_Parse_Real 6704.604749020509 ns/iter 5916.373095069302 ns/iter 1.13
JSON_Parse_Decimal 11280.944043990845 ns/iter 9358.394876881926 ns/iter 1.21
JSON_Parse_Schema_ISO_Language 5096938.38686181 ns/iter 4734051.979591616 ns/iter 1.08
JSON_Parse_Integer 4794.38471882004 ns/iter 4777.820481516951 ns/iter 1.00
JSON_Parse_String_NonSSO_Plain 8546.81974553439 ns/iter 7632.005268429319 ns/iter 1.12
JSON_Parse_String_SSO_Plain 3893.5066189110053 ns/iter 3547.1981793394375 ns/iter 1.10
JSON_Parse_String_Escape_Heavy 21026.35864940885 ns/iter 19426.924664947404 ns/iter 1.08
JSON_Parse_Object_Short_Keys 13805.446527860064 ns/iter 9811.349107683702 ns/iter 1.41
JSON_Parse_Object_Scalar_Properties 5743.180108143965 ns/iter 5051.523101858476 ns/iter 1.14
JSON_Parse_Object_Array_Properties 8708.57886097978 ns/iter 7827.3842481309175 ns/iter 1.11
JSON_Parse_Object_Object_Properties 9102.956456007498 ns/iter 7951.624462276733 ns/iter 1.14
JSON_Parse_Nested_Containers 72105.6429968142 ns/iter 64397.617103809214 ns/iter 1.12
JSON_From_String_Copy 18.253193470173574 ns/iter 15.59577874915396 ns/iter 1.17
JSON_From_String_Temporary 19.757031367173752 ns/iter 13.620063961887341 ns/iter 1.45
JSON_Number_To_Double 20.592468403503197 ns/iter 19.10523992524591 ns/iter 1.08
JSON_Object_At_Last_Key/8 8.110335318993787 ns/iter 8.10403059371512 ns/iter 1.00
JSON_Object_At_Last_Key/32 31.500645758947048 ns/iter 28.825472226510655 ns/iter 1.09
JSON_Object_At_Last_Key/128 126.89685452154673 ns/iter 118.70947760729455 ns/iter 1.07
JSON_Object_At_Last_Key/512 516.8117263303141 ns/iter 450.99530521266047 ns/iter 1.15
JSON_Fast_Hash_Helm_Chart_Lock 67.54709422628683 ns/iter 48.23582155606679 ns/iter 1.40
JSON_Equality_Helm_Chart_Lock 173.4439343360539 ns/iter 136.14716493926397 ns/iter 1.27
JSON_Divisible_By_Decimal 238.8191743538321 ns/iter 250.6532745738591 ns/iter 0.95
JSON_String_Equal/10 6.3236930860405485 ns/iter 5.586843545958985 ns/iter 1.13
JSON_String_Equal/100 6.933514790139853 ns/iter 6.734939932652797 ns/iter 1.03
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6270320769091148 ns/iter 0.8253201142044513 ns/iter 0.76
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.451420197083355 ns/iter 17.00343318711274 ns/iter 1.50
JSON_String_Fast_Hash/10 1.2458273221272103 ns/iter 1.4562126841673195 ns/iter 0.86
JSON_String_Fast_Hash/100 1.2452472777280683 ns/iter 1.4410056352037681 ns/iter 0.86
JSON_String_Key_Hash/10 1.2469839867340058 ns/iter 1.1627886736007995 ns/iter 1.07
JSON_String_Key_Hash/100 12.467000714221497 ns/iter 11.828915829157102 ns/iter 1.05
JSON_Object_Defines_Miss_Same_Length 3.114834337810709 ns/iter 3.4323138860171807 ns/iter 0.91
JSON_Object_Defines_Miss_Too_Small 3.114244047378641 ns/iter 3.107195521501614 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.4283927804856686 ns/iter 3.457410591230024 ns/iter 0.99
Regex_Lower_S_Or_Upper_S_Asterisk 0.6240647579965217 ns/iter 0.8643264776079423 ns/iter 0.72
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.9357378481881183 ns/iter 1.1526181228803933 ns/iter 0.81
Regex_Period_Asterisk 0.9347634817380127 ns/iter 1.153482748354879 ns/iter 0.81
Regex_Group_Period_Asterisk_Group 0.6230487107232595 ns/iter 0.8664714409163132 ns/iter 0.72
Regex_Period_Plus 0.6230233338388712 ns/iter 0.865311781132571 ns/iter 0.72
Regex_Period 0.934473102147187 ns/iter 1.1525713730345084 ns/iter 0.81
Regex_Caret_Period_Plus_Dollar 0.9343158081715218 ns/iter 1.152086001541983 ns/iter 0.81
Regex_Caret_Group_Period_Plus_Group_Dollar 0.6235822408097368 ns/iter 0.8647261699873218 ns/iter 0.72
Regex_Caret_Period_Asterisk_Dollar 0.6236287566195373 ns/iter 0.8647313930237478 ns/iter 0.72
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.934244626289874 ns/iter 1.1532341009798197 ns/iter 0.81
Regex_Caret_X_Hyphen 4.054045592270298 ns/iter 3.1732052841617846 ns/iter 1.28
Regex_Period_Md_Dollar 40.10962424645567 ns/iter 23.334944374287733 ns/iter 1.72
Regex_Caret_Slash_Period_Asterisk 4.367959342509632 ns/iter 3.168996135904 ns/iter 1.38
Regex_Caret_Period_Range_Dollar 1.2519734685136221 ns/iter 1.441188147444455 ns/iter 0.87
Regex_Nested_Backtrack 40.567521378526244 ns/iter 33.934386253769446 ns/iter 1.20

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: 72fa6c7 Previous: 3f61ec7 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.244959999999992 ns/iter 5.079984000003606 ns/iter 1.03
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 5.011162000000695 ns/iter 5.128569642855448 ns/iter 0.98
Regex_Period_Asterisk 5.022212999997464 ns/iter 5.060724999998456 ns/iter 0.99
Regex_Group_Period_Asterisk_Group 5.013369000002967 ns/iter 5.047331250003546 ns/iter 0.99
Regex_Period_Plus 4.767816608209384 ns/iter 4.933840291282835 ns/iter 0.97
Regex_Period 4.7690109385670825 ns/iter 4.783467456425882 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 4.767570960886554 ns/iter 4.791234385697289 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 4.7717234385671325 ns/iter 4.786309353744624 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 5.016573214285407 ns/iter 5.019130000000587 ns/iter 1.00
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.011140000001433 ns/iter 5.067144000004191 ns/iter 0.99
Regex_Caret_X_Hyphen 8.145439732142481 ns/iter 8.183511160717266 ns/iter 1.00
Regex_Period_Md_Dollar 44.44148749999499 ns/iter 44.29703353306501 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 7.829525669639079 ns/iter 7.839699776788223 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 5.954564285713916 ns/iter 5.957371000004059 ns/iter 1.00
Regex_Nested_Backtrack 53.65206000001308 ns/iter 54.056660000014745 ns/iter 0.99
JSON_Array_Of_Objects_Unique 495.8670999999413 ns/iter 506.8829000001642 ns/iter 0.98
JSON_Parse_1 8899.199110719483 ns/iter 8668.37946428437 ns/iter 1.03
JSON_Parse_Real 16064.274553571067 ns/iter 15969.122767864566 ns/iter 1.01
JSON_Parse_Decimal 11896.064285711613 ns/iter 11782.019642859203 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 7912887.777779865 ns/iter 7141131.249998775 ns/iter 1.11
JSON_Parse_Integer 6186.556250002339 ns/iter 6114.71875000039 ns/iter 1.01
JSON_Parse_String_NonSSO_Plain 7803.816947247101 ns/iter 7683.856026784293 ns/iter 1.02
JSON_Parse_String_SSO_Plain 3502.3898389487326 ns/iter 3713.2160478267565 ns/iter 0.94
JSON_Parse_String_Escape_Heavy 21886.271875004582 ns/iter 21783.962500009577 ns/iter 1.00
JSON_Parse_Object_Short_Keys 13283.910562905068 ns/iter 13095.252922982803 ns/iter 1.01
JSON_Parse_Object_Scalar_Properties 6829.531249999425 ns/iter 6744.475446426789 ns/iter 1.01
JSON_Parse_Object_Array_Properties 11344.945312501408 ns/iter 11192.470312501257 ns/iter 1.01
JSON_Parse_Object_Object_Properties 11558.020312499195 ns/iter 11410.617187500804 ns/iter 1.01
JSON_Parse_Nested_Containers 80673.35937503068 ns/iter 78385.61383926342 ns/iter 1.03
JSON_From_String_Copy 67.48590178570372 ns/iter 64.13744642856045 ns/iter 1.05
JSON_From_String_Temporary 65.09753571431735 ns/iter 58.5216339285515 ns/iter 1.11
JSON_Number_To_Double 122.52191071427531 ns/iter 119.53178571429491 ns/iter 1.03
JSON_Object_At_Last_Key/8 7.38069419642987 ns/iter 7.231598214283557 ns/iter 1.02
JSON_Object_At_Last_Key/32 25.3975644486823 ns/iter 23.233861347849572 ns/iter 1.09
JSON_Object_At_Last_Key/128 93.5620940373541 ns/iter 89.2837834821287 ns/iter 1.05
JSON_Object_At_Last_Key/512 465.0342950800861 ns/iter 422.99634957522534 ns/iter 1.10
JSON_Fast_Hash_Helm_Chart_Lock 68.2959196428458 ns/iter 65.61319642855779 ns/iter 1.04
JSON_Equality_Helm_Chart_Lock 326.8379211119315 ns/iter 299.77619868569593 ns/iter 1.09
JSON_Divisible_By_Decimal 315.37042925759414 ns/iter 299.421475510989 ns/iter 1.05
JSON_String_Equal/10 15.252736607150398 ns/iter 15.147968750000018 ns/iter 1.01
JSON_String_Equal/100 16.571973214283275 ns/iter 16.493720982140303 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 2.5818192857140536 ns/iter 2.509149285713517 ns/iter 1.03
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.21203124999561 ns/iter 14.276981186263702 ns/iter 1.07
JSON_String_Fast_Hash/10 4.725964296262428 ns/iter 4.747095535711716 ns/iter 1.00
JSON_String_Fast_Hash/100 4.724386617687502 ns/iter 4.755928135617179 ns/iter 0.99
JSON_String_Key_Hash/10 5.345440999999482 ns/iter 5.342293750000441 ns/iter 1.00
JSON_String_Key_Hash/100 11.918017857145253 ns/iter 11.878678125000874 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 4.096587051741606 ns/iter 4.081036034072467 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 5.03930599999876 ns/iter 5.023768999999447 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 4.406244374999346 ns/iter 4.388193124998452 ns/iter 1.00
Pointer_Object_Traverse 70.83820312498038 ns/iter 69.68349999998021 ns/iter 1.02
Pointer_Object_Try_Traverse 71.46118303568625 ns/iter 71.07258928572588 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 173.230933475226 ns/iter 187.22883814549542 ns/iter 0.93
Pointer_Walker_Schema_ISO_Language 8095905.555556884 ns/iter 6648415.178570336 ns/iter 1.22
Pointer_Maybe_Tracked_Deeply_Nested/0 2593676.785714446 ns/iter 2332290.635451293 ns/iter 1.11
Pointer_Maybe_Tracked_Deeply_Nested/1 3914464.171121315 ns/iter 3562793.8461519266 ns/iter 1.10
Pointer_Position_Tracker_Get_Deeply_Nested 516.2936173931997 ns/iter 511.40219250651376 ns/iter 1.01
URITemplateRouter_Create 41011.281991760196 ns/iter 40546.660089365025 ns/iter 1.01
URITemplateRouter_Match 236.07985088389265 ns/iter 233.3206874999405 ns/iter 1.01
URITemplateRouter_Match_BasePath 305.8327837424641 ns/iter 264.3299381396385 ns/iter 1.16
URITemplateRouterView_Restore 34292.401785722046 ns/iter 30298.00313392479 ns/iter 1.13
URITemplateRouterView_Match 188.92801686852437 ns/iter 179.40274816099446 ns/iter 1.05
URITemplateRouterView_Match_BasePath 214.5826250000482 ns/iter 205.08521473975782 ns/iter 1.05
URITemplateRouterView_Arguments 533.5434821428668 ns/iter 532.5341000002481 ns/iter 1.00
JSONL_Parse_Large 34061689.99999864 ns/iter 32635147.619029816 ns/iter 1.04
JSONL_Parse_Large_GZIP 34420855.00000758 ns/iter 33516299.99999551 ns/iter 1.03
HTML_Build_Table_100000 93991428.57143618 ns/iter 85549000.00003077 ns/iter 1.10
HTML_Render_Table_100000 8427707.777779384 ns/iter 6853339.999997842 ns/iter 1.23
GZIP_Compress_ISO_Language_Set_3_Locations 37065547.36843253 ns/iter 36171947.368434064 ns/iter 1.02
GZIP_Decompress_ISO_Language_Set_3_Locations 10325009.37499492 ns/iter 9106097.33333331 ns/iter 1.13
GZIP_Compress_ISO_Language_Set_3_Schema 2132434.0625000102 ns/iter 2093880.6970508357 ns/iter 1.02
GZIP_Decompress_ISO_Language_Set_3_Schema 689479.5758926518 ns/iter 612211.1607144884 ns/iter 1.13
JOSE_VerifySignature_RS256 21288.1531249991 ns/iter 21165.168750002296 ns/iter 1.01
JOSE_VerifySignature_ES512 1543137.053571643 ns/iter 1532926.3392861288 ns/iter 1.01

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

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