Skip to content

Simplify hashing JSON object keys#2398

Merged
jviotti merged 1 commit into
mainfrom
nicer-object-hashing
May 23, 2026
Merged

Simplify hashing JSON object keys#2398
jviotti merged 1 commit into
mainfrom
nicer-object-hashing

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented May 23, 2026

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the nicer-object-hashing branch from 8e78edb to 112c380 Compare May 23, 2026 21:29
@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 23, 2026

🤖 Augment PR Summary

Summary: Refactors JSON object key hashing so hashes can be computed without constructing a JSON object instance.

Changes:

  • Make `JSONObject::hash(...)` overloads static and call the class-level hasher directly
  • Update JSON-RPC code to precompute common field hashes via JSON::Object::hash("...")
  • Adjust the `JSON_auto` unit test to use the new static hashing entry point

Technical Notes: Removes the need to allocate/build a temporary JSON object solely to obtain property hashes.

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

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

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 3 files

Re-trigger cubic

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: 112c380 Previous: 8018e9d Ratio
GZIP_Compress_ISO_Language_Set_3_Locations 31687043.318181 ns/iter 34062880.749999635 ns/iter 0.93
GZIP_Decompress_ISO_Language_Set_3_Locations 3118283.4439463 ns/iter 5453241.226086902 ns/iter 0.57
GZIP_Compress_ISO_Language_Set_3_Schema 1799166.7609255218 ns/iter 2068797.7463126788 ns/iter 0.87
GZIP_Decompress_ISO_Language_Set_3_Schema 219461.8425223935 ns/iter 362346.0967573298 ns/iter 0.61
HTML_Build_Table_100000 53634792.30769249 ns/iter 60064157.99999824 ns/iter 0.89
HTML_Render_Table_100000 1857597.1473684139 ns/iter 2532075.4705883195 ns/iter 0.73
JSONL_Parse_Large 9692447.763888545 ns/iter 11853946.796610232 ns/iter 0.82
JSONL_Parse_Large_GZIP 10558664.818182189 ns/iter 13163134.452830097 ns/iter 0.80
URITemplateRouter_Create 22035.289212150663 ns/iter 28279.08454644977 ns/iter 0.78
URITemplateRouter_Match 128.7730694427182 ns/iter 155.01013728796892 ns/iter 0.83
URITemplateRouter_Match_BasePath 152.10744425770116 ns/iter 171.3250801815397 ns/iter 0.89
URITemplateRouterView_Restore 6684.7194232477095 ns/iter 3353.643886858221 ns/iter 1.99
URITemplateRouterView_Match 103.13930018769719 ns/iter 128.10165775183884 ns/iter 0.81
URITemplateRouterView_Match_BasePath 119.04624375284105 ns/iter 146.9335186797229 ns/iter 0.81
URITemplateRouterView_Arguments 352.8998941003819 ns/iter 538.0884316570178 ns/iter 0.66
Pointer_Object_Traverse 20.536660821891537 ns/iter 26.90233288082861 ns/iter 0.76
Pointer_Object_Try_Traverse 16.9899963874649 ns/iter 25.027155617620085 ns/iter 0.68
Pointer_Push_Back_Pointer_To_Weak_Pointer 118.99315086379848 ns/iter 151.29663369200662 ns/iter 0.79
Pointer_Walker_Schema_ISO_Language 2669331.3458646834 ns/iter 3143500.427927751 ns/iter 0.85
Pointer_Maybe_Tracked_Deeply_Nested/0 1185232.1435811184 ns/iter 1384454.867326719 ns/iter 0.86
Pointer_Maybe_Tracked_Deeply_Nested/1 1305542.6573033768 ns/iter 1981428.9067795859 ns/iter 0.66
Pointer_Position_Tracker_Get_Deeply_Nested 352.820202276719 ns/iter 476.88972882341625 ns/iter 0.74
JSON_Array_Of_Objects_Unique 327.15308315241447 ns/iter 328.7503283592803 ns/iter 1.00
JSON_Parse_1 6015.068356104194 ns/iter 6913.4369428009395 ns/iter 0.87
JSON_Parse_Real 9144.823486506255 ns/iter 10839.303304326233 ns/iter 0.84
JSON_Parse_Decimal 12706.491565084341 ns/iter 14434.936676442734 ns/iter 0.88
JSON_Parse_Schema_ISO_Language 3630577.906735735 ns/iter 4121029.2941176407 ns/iter 0.88
JSON_Fast_Hash_Helm_Chart_Lock 47.78488787150029 ns/iter 52.243697810939494 ns/iter 0.91
JSON_Equality_Helm_Chart_Lock 127.45448312343025 ns/iter 142.482503687313 ns/iter 0.89
JSON_Divisible_By_Decimal 177.76549291190085 ns/iter 250.19338572182878 ns/iter 0.71
JSON_String_Equal/10 4.705416080672663 ns/iter 5.297914987054123 ns/iter 0.89
JSON_String_Equal/100 5.548550842098038 ns/iter 6.4512515715189105 ns/iter 0.86
JSON_String_Equal_Small_By_Perfect_Hash/10 0.5532486309100658 ns/iter 0.8251610120928273 ns/iter 0.67
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 17.01819034832259 ns/iter 16.9992086139908 ns/iter 1.00
JSON_String_Fast_Hash/10 0.8191081566076722 ns/iter 1.15237751978169 ns/iter 0.71
JSON_String_Fast_Hash/100 0.8188097272078961 ns/iter 1.155263317613993 ns/iter 0.71
JSON_String_Key_Hash/10 1.3643814275834263 ns/iter 1.7285292246457433 ns/iter 0.79
JSON_String_Key_Hash/100 12.010679618781158 ns/iter 11.824766950034153 ns/iter 1.02
JSON_Object_Defines_Miss_Same_Length 3.0045235590363593 ns/iter 3.5603699084640135 ns/iter 0.84
JSON_Object_Defines_Miss_Too_Small 3.2752869154694695 ns/iter 3.712375009933011 ns/iter 0.88
JSON_Object_Defines_Miss_Too_Large 2.7285118164307876 ns/iter 3.4510237755860995 ns/iter 0.79
Regex_Lower_S_Or_Upper_S_Asterisk 0.8184502893008918 ns/iter 1.1526942948113585 ns/iter 0.71
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.8182999409513336 ns/iter 1.1553271326241124 ns/iter 0.71
Regex_Period_Asterisk 0.5458469357749994 ns/iter 0.8642843503048885 ns/iter 0.63
Regex_Group_Period_Asterisk_Group 0.5454884060505757 ns/iter 0.8647157263334566 ns/iter 0.63
Regex_Period_Plus 0.8183354550027485 ns/iter 1.152341581340076 ns/iter 0.71
Regex_Period 0.8193635087230584 ns/iter 1.152334596184276 ns/iter 0.71
Regex_Caret_Period_Plus_Dollar 0.5455274106525885 ns/iter 0.8641206965249661 ns/iter 0.63
Regex_Caret_Group_Period_Plus_Group_Dollar 0.5455160260973848 ns/iter 0.8640831845723672 ns/iter 0.63
Regex_Caret_Period_Asterisk_Dollar 0.8184808035541045 ns/iter 1.1545263246898982 ns/iter 0.71
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.8193061908742427 ns/iter 1.1521859953456033 ns/iter 0.71
Regex_Caret_X_Hyphen 3.2711977817306734 ns/iter 3.4553534662745604 ns/iter 0.95
Regex_Period_Md_Dollar 30.55180703587654 ns/iter 22.852459175424517 ns/iter 1.34
Regex_Caret_Slash_Period_Asterisk 2.727485540858443 ns/iter 3.169399949517721 ns/iter 0.86
Regex_Caret_Period_Range_Dollar 0.8186776676957569 ns/iter 1.1567096226321716 ns/iter 0.71
Regex_Nested_Backtrack 34.89888757467444 ns/iter 33.94574471654191 ns/iter 1.03

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 (macos/llvm)

Details
Benchmark suite Current: 112c380 Previous: 8018e9d Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.195363266317804 ns/iter 2.3658424745037716 ns/iter 0.93
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.8891280024440673 ns/iter 2.0444708189937097 ns/iter 0.92
Regex_Period_Asterisk 1.8796658226755028 ns/iter 2.0318894518308 ns/iter 0.93
Regex_Group_Period_Asterisk_Group 1.8807123204847032 ns/iter 1.9927532374904815 ns/iter 0.94
Regex_Period_Plus 1.9350246560352629 ns/iter 2.0291397251795016 ns/iter 0.95
Regex_Period 1.8869330050580486 ns/iter 2.0300159149656376 ns/iter 0.93
Regex_Caret_Period_Plus_Dollar 1.882182998255427 ns/iter 1.9989641087838386 ns/iter 0.94
Regex_Caret_Group_Period_Plus_Group_Dollar 1.8844638843301271 ns/iter 1.9917211837495383 ns/iter 0.95
Regex_Caret_Period_Asterisk_Dollar 1.881102558000544 ns/iter 2.0189377473056034 ns/iter 0.93
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.8819217688130312 ns/iter 2.035292275218635 ns/iter 0.92
Regex_Caret_X_Hyphen 5.759704653213343 ns/iter 5.988901806171116 ns/iter 0.96
Regex_Period_Md_Dollar 15.368739941548958 ns/iter 15.968767459408554 ns/iter 0.96
Regex_Caret_Slash_Period_Asterisk 4.075794024023566 ns/iter 8.025986729043126 ns/iter 0.51
Regex_Caret_Period_Range_Dollar 1.5906477378954798 ns/iter 1.6877855393439727 ns/iter 0.94
Regex_Nested_Backtrack 24.102774645157666 ns/iter 24.77782504026907 ns/iter 0.97
JSON_Array_Of_Objects_Unique 405.1189873760048 ns/iter 445.619944045371 ns/iter 0.91
JSON_Parse_1 3632.2587701926627 ns/iter 3942.812104594995 ns/iter 0.92
JSON_Parse_Real 5895.734482758358 ns/iter 6365.302724400869 ns/iter 0.93
JSON_Parse_Decimal 7355.158103139626 ns/iter 8806.337314508022 ns/iter 0.84
JSON_Parse_Schema_ISO_Language 2564441.6666666446 ns/iter 3143039.7727273307 ns/iter 0.82
JSON_Fast_Hash_Helm_Chart_Lock 54.38575742298061 ns/iter 58.767519987431854 ns/iter 0.93
JSON_Equality_Helm_Chart_Lock 123.98242603320062 ns/iter 138.02193962989375 ns/iter 0.90
JSON_Divisible_By_Decimal 165.50561507198958 ns/iter 177.70580549000036 ns/iter 0.93
JSON_String_Equal/10 6.28882723516113 ns/iter 6.877108235952063 ns/iter 0.91
JSON_String_Equal/100 5.977725398813429 ns/iter 6.433317230416545 ns/iter 0.93
JSON_String_Equal_Small_By_Perfect_Hash/10 0.6868742373417716 ns/iter 0.7698181556444138 ns/iter 0.89
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.0124039361018857 ns/iter 3.2848111814887915 ns/iter 0.92
JSON_String_Fast_Hash/10 2.2586364051582053 ns/iter 2.3975146885827026 ns/iter 0.94
JSON_String_Fast_Hash/100 1.8874365550531393 ns/iter 1.9941778311445202 ns/iter 0.95
JSON_String_Key_Hash/10 1.2592182998640657 ns/iter 1.3435845015591121 ns/iter 0.94
JSON_String_Key_Hash/100 1.9575567970303278 ns/iter 2.1322556571855578 ns/iter 0.92
JSON_Object_Defines_Miss_Same_Length 2.1952788712495677 ns/iter 2.3596809600484607 ns/iter 0.93
JSON_Object_Defines_Miss_Too_Small 2.193225162080794 ns/iter 2.543435600874824 ns/iter 0.86
JSON_Object_Defines_Miss_Too_Large 2.207507288501781 ns/iter 2.350846656031512 ns/iter 0.94
Pointer_Object_Traverse 13.442285496978187 ns/iter 13.971701482625246 ns/iter 0.96
Pointer_Object_Try_Traverse 17.76654619774852 ns/iter 19.185748525281557 ns/iter 0.93
Pointer_Push_Back_Pointer_To_Weak_Pointer 143.24737047856098 ns/iter 154.26005054184554 ns/iter 0.93
Pointer_Walker_Schema_ISO_Language 3656831.0301508424 ns/iter 4262752.300614279 ns/iter 0.86
Pointer_Maybe_Tracked_Deeply_Nested/0 885299.916562883 ns/iter 1236959.7517729274 ns/iter 0.72
Pointer_Maybe_Tracked_Deeply_Nested/1 1209002.7272727804 ns/iter 1777063.3954154993 ns/iter 0.68
Pointer_Position_Tracker_Get_Deeply_Nested 355.41448362243216 ns/iter 402.5320488154487 ns/iter 0.88
URITemplateRouter_Create 21687.52706438651 ns/iter 27838.315586330053 ns/iter 0.78
URITemplateRouter_Match 162.429605494232 ns/iter 184.02628468579687 ns/iter 0.88
URITemplateRouter_Match_BasePath 183.12102285663178 ns/iter 218.02621553668465 ns/iter 0.84
URITemplateRouterView_Restore 8968.009744927065 ns/iter 11941.437916600999 ns/iter 0.75
URITemplateRouterView_Match 144.19749370699756 ns/iter 150.31854796443787 ns/iter 0.96
URITemplateRouterView_Match_BasePath 149.23842421212117 ns/iter 164.46444141396782 ns/iter 0.91
URITemplateRouterView_Arguments 429.697208385024 ns/iter 469.0851411133505 ns/iter 0.92
JSONL_Parse_Large 14619681.054546162 ns/iter 14053011.897960125 ns/iter 1.04
JSONL_Parse_Large_GZIP 15518999.207548609 ns/iter 15026224.18000101 ns/iter 1.03
HTML_Build_Table_100000 97833078.12499231 ns/iter 93141368.9999902 ns/iter 1.05
HTML_Render_Table_100000 5918491.741379607 ns/iter 5756087.032257402 ns/iter 1.03
GZIP_Compress_ISO_Language_Set_3_Locations 28966393.7499995 ns/iter 35654083.299994 ns/iter 0.81
GZIP_Decompress_ISO_Language_Set_3_Locations 5545184.480916162 ns/iter 6414594.548077118 ns/iter 0.86
GZIP_Compress_ISO_Language_Set_3_Schema 1770487.4100718698 ns/iter 2022227.5659338576 ns/iter 0.88
GZIP_Decompress_ISO_Language_Set_3_Schema 289370.94082126365 ns/iter 372059.1364256756 ns/iter 0.78

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: 112c380 Previous: 8018e9d Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2138926398033463 ns/iter 2.171738939671273 ns/iter 1.02
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1885605960306864 ns/iter 2.177435092628594 ns/iter 1.01
Regex_Period_Asterisk 2.188168960403217 ns/iter 2.1487019621276735 ns/iter 1.02
Regex_Group_Period_Asterisk_Group 2.263361892755238 ns/iter 2.110449762991057 ns/iter 1.07
Regex_Period_Plus 2.800412556364659 ns/iter 2.036547766167215 ns/iter 1.38
Regex_Period 3.112688051299791 ns/iter 2.308391935280228 ns/iter 1.35
Regex_Caret_Period_Plus_Dollar 2.801203741395889 ns/iter 2.0297102971812193 ns/iter 1.38
Regex_Caret_Group_Period_Plus_Group_Dollar 3.115001811751944 ns/iter 2.3053778800704507 ns/iter 1.35
Regex_Caret_Period_Asterisk_Dollar 3.1113259052959235 ns/iter 2.0915005917288334 ns/iter 1.49
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.4234742323622847 ns/iter 2.1499957025519376 ns/iter 1.59
Regex_Caret_X_Hyphen 6.5410583752919775 ns/iter 3.756375806915503 ns/iter 1.74
Regex_Period_Md_Dollar 27.80023878728131 ns/iter 25.418162165438734 ns/iter 1.09
Regex_Caret_Slash_Period_Asterisk 6.867866808524353 ns/iter 3.752980634967983 ns/iter 1.83
Regex_Caret_Period_Range_Dollar 3.7346602236031528 ns/iter 2.0243649676740647 ns/iter 1.84
Regex_Nested_Backtrack 37.94378569195211 ns/iter 33.134874156120375 ns/iter 1.15
JSON_Array_Of_Objects_Unique 407.85381798113514 ns/iter 354.77040320129095 ns/iter 1.15
JSON_Parse_1 5906.885936412038 ns/iter 5304.068931979351 ns/iter 1.11
JSON_Parse_Real 10805.64000368951 ns/iter 9973.854859827365 ns/iter 1.08
JSON_Parse_Decimal 11044.930192277427 ns/iter 9976.491500062564 ns/iter 1.11
JSON_Parse_Schema_ISO_Language 3595178.1134021706 ns/iter 3296821.6952380794 ns/iter 1.09
JSON_Fast_Hash_Helm_Chart_Lock 60.99866154546406 ns/iter 53.87390032958782 ns/iter 1.13
JSON_Equality_Helm_Chart_Lock 168.85189258311323 ns/iter 130.55103509741215 ns/iter 1.29
JSON_Divisible_By_Decimal 244.02441462235774 ns/iter 245.5381921751511 ns/iter 0.99
JSON_String_Equal/10 7.1584063264582305 ns/iter 4.611449939268905 ns/iter 1.55
JSON_String_Equal/100 6.855371293131534 ns/iter 5.76825709875158 ns/iter 1.19
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9358433573718156 ns/iter 0.692831207278901 ns/iter 1.35
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.748054832596507 ns/iter 9.566735213855917 ns/iter 1.54
JSON_String_Fast_Hash/10 2.799803077290561 ns/iter 2.305406632718646 ns/iter 1.21
JSON_String_Fast_Hash/100 2.801449332959263 ns/iter 2.305064148949309 ns/iter 1.22
JSON_String_Key_Hash/10 2.6848357196878463 ns/iter 1.7297951320764204 ns/iter 1.55
JSON_String_Key_Hash/100 9.020744757449114 ns/iter 6.627879101023947 ns/iter 1.36
JSON_Object_Defines_Miss_Same_Length 3.7392503741185257 ns/iter 3.421111048709904 ns/iter 1.09
JSON_Object_Defines_Miss_Too_Small 3.741286007539177 ns/iter 3.481559992983184 ns/iter 1.07
JSON_Object_Defines_Miss_Too_Large 3.766786878866771 ns/iter 3.4078801464601076 ns/iter 1.11
Pointer_Object_Traverse 24.198060343480886 ns/iter 23.67345634721425 ns/iter 1.02
Pointer_Object_Try_Traverse 26.07787139712486 ns/iter 28.89050442633864 ns/iter 0.90
Pointer_Push_Back_Pointer_To_Weak_Pointer 229.78113781140436 ns/iter 172.21715987097429 ns/iter 1.33
Pointer_Walker_Schema_ISO_Language 2978871.8678413406 ns/iter 3099668.550660857 ns/iter 0.96
Pointer_Maybe_Tracked_Deeply_Nested/0 1405283.2177420044 ns/iter 1196613.0051369914 ns/iter 1.17
Pointer_Maybe_Tracked_Deeply_Nested/1 1794161.3427109404 ns/iter 2100918.214953473 ns/iter 0.85
Pointer_Position_Tracker_Get_Deeply_Nested 647.0005709651209 ns/iter 661.8055905034639 ns/iter 0.98
URITemplateRouter_Create 31325.54247880254 ns/iter 28245.243585606433 ns/iter 1.11
URITemplateRouter_Match 175.00855861820196 ns/iter 148.123888800544 ns/iter 1.18
URITemplateRouter_Match_BasePath 201.96359781060625 ns/iter 165.49124263606942 ns/iter 1.22
URITemplateRouterView_Restore 7699.431082137592 ns/iter 3432.828176346993 ns/iter 2.24
URITemplateRouterView_Match 142.0507692805867 ns/iter 130.83618540381275 ns/iter 1.09
URITemplateRouterView_Match_BasePath 160.46325624827085 ns/iter 146.22857208679486 ns/iter 1.10
URITemplateRouterView_Arguments 455.01246651997536 ns/iter 428.316206151112 ns/iter 1.06
JSONL_Parse_Large 10727824.015384614 ns/iter 9705116.125000283 ns/iter 1.11
JSONL_Parse_Large_GZIP 11954415.389830932 ns/iter 10876920.59999986 ns/iter 1.10
HTML_Build_Table_100000 62450964.999997765 ns/iter 72027655.2222256 ns/iter 0.87
HTML_Render_Table_100000 5199002.082089118 ns/iter 10124765.318840982 ns/iter 0.51
GZIP_Compress_ISO_Language_Set_3_Locations 34586075.15000267 ns/iter 33355166.7142891 ns/iter 1.04
GZIP_Decompress_ISO_Language_Set_3_Locations 4582218.555555259 ns/iter 6098146.632653852 ns/iter 0.75
GZIP_Compress_ISO_Language_Set_3_Schema 1915378.5150686179 ns/iter 1921663.1510988504 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 373616.6195304293 ns/iter 361198.8543489119 ns/iter 1.03

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

@jviotti jviotti merged commit 874d1e2 into main May 23, 2026
12 checks passed
@jviotti jviotti deleted the nicer-object-hashing branch May 23, 2026 21:41
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: 112c380 Previous: 8018e9d Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 7.607034598213452 ns/iter 8.847857103358551 ns/iter 0.86
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 7.57803236607251 ns/iter 8.852667410713824 ns/iter 0.86
Regex_Period_Asterisk 7.587025669644833 ns/iter 8.847054871219322 ns/iter 0.86
Regex_Group_Period_Asterisk_Group 7.581123883928192 ns/iter 8.841885044640817 ns/iter 0.86
Regex_Period_Plus 8.4955758928551 ns/iter 11.28649999999709 ns/iter 0.75
Regex_Period 8.449954241070502 ns/iter 11.281456249999877 ns/iter 0.75
Regex_Caret_Period_Plus_Dollar 8.605098175871694 ns/iter 11.305353571430032 ns/iter 0.76
Regex_Caret_Group_Period_Plus_Group_Dollar 8.445861123008324 ns/iter 11.283903124997606 ns/iter 0.75
Regex_Caret_Period_Asterisk_Dollar 7.5745613839295345 ns/iter 8.824143710605936 ns/iter 0.86
Regex_Caret_Group_Period_Asterisk_Group_Dollar 7.580420535713221 ns/iter 8.823981026786498 ns/iter 0.86
Regex_Caret_X_Hyphen 9.955081249998443 ns/iter 13.456917857143123 ns/iter 0.74
Regex_Period_Md_Dollar 34.4011501678781 ns/iter 40.52416348916611 ns/iter 0.85
Regex_Caret_Slash_Period_Asterisk 9.736426295817369 ns/iter 13.050071428572048 ns/iter 0.75
Regex_Caret_Period_Range_Dollar 7.995266741071459 ns/iter 11.289198437498982 ns/iter 0.71
Regex_Nested_Backtrack 43.81072500000016 ns/iter 50.341069999990395 ns/iter 0.87
JSON_Array_Of_Objects_Unique 395.36043526780924 ns/iter 485.40889215813246 ns/iter 0.81
JSON_Parse_1 8080.650086383433 ns/iter 8344.25714285609 ns/iter 0.97
JSON_Parse_Real 14638.515625000942 ns/iter 14141.654947968816 ns/iter 1.04
JSON_Parse_Decimal 15873.928571430439 ns/iter 14094.738639559626 ns/iter 1.13
JSON_Parse_Schema_ISO_Language 7035635.714284386 ns/iter 6071764.999999233 ns/iter 1.16
JSON_Fast_Hash_Helm_Chart_Lock 48.17515286105571 ns/iter 60.05791071428592 ns/iter 0.80
JSON_Equality_Helm_Chart_Lock 249.9280714285338 ns/iter 276.3808269473729 ns/iter 0.90
JSON_Divisible_By_Decimal 279.49503926316544 ns/iter 255.84724999995552 ns/iter 1.09
JSON_String_Equal/10 10.56266562500241 ns/iter 12.537133928568828 ns/iter 0.84
JSON_String_Equal/100 13.244024271231797 ns/iter 13.420277618663023 ns/iter 0.99
JSON_String_Equal_Small_By_Perfect_Hash/10 1.4638136377392215 ns/iter 1.8314124999996293 ns/iter 0.80
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.628768749998073 ns/iter 11.88846250000048 ns/iter 0.81
JSON_String_Fast_Hash/10 2.068344975370482 ns/iter 3.5888322042129284 ns/iter 0.58
JSON_String_Fast_Hash/100 2.0567151985972214 ns/iter 3.5294336775213915 ns/iter 0.58
JSON_String_Key_Hash/10 2.731574796668092 ns/iter 4.246814328462056 ns/iter 0.64
JSON_String_Key_Hash/100 13.748753510050289 ns/iter 17.32107376794004 ns/iter 0.79
JSON_Object_Defines_Miss_Same_Length 3.559511600785816 ns/iter 3.9465664062492727 ns/iter 0.90
JSON_Object_Defines_Miss_Too_Small 4.107412364237808 ns/iter 3.9194268973208324 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Large 4.73364108199487 ns/iter 4.951307999999699 ns/iter 0.96
Pointer_Object_Traverse 37.46914059730342 ns/iter 42.55296324088522 ns/iter 0.88
Pointer_Object_Try_Traverse 48.076882490553736 ns/iter 53.08019000001423 ns/iter 0.91
Pointer_Push_Back_Pointer_To_Weak_Pointer 179.57739103371583 ns/iter 167.43287946425767 ns/iter 1.07
Pointer_Walker_Schema_ISO_Language 13021259.999995893 ns/iter 12030451.785717234 ns/iter 1.08
Pointer_Maybe_Tracked_Deeply_Nested/0 2264494.285714136 ns/iter 2103695.7142858426 ns/iter 1.08
Pointer_Maybe_Tracked_Deeply_Nested/1 3969474.9999996 ns/iter 3169965.178571488 ns/iter 1.25
Pointer_Position_Tracker_Get_Deeply_Nested 545.8049294714591 ns/iter 628.5543633588325 ns/iter 0.87
URITemplateRouter_Create 40579.02037027271 ns/iter 37415.04794557386 ns/iter 1.08
URITemplateRouter_Match 239.1409285714222 ns/iter 211.71854188755245 ns/iter 1.13
URITemplateRouter_Match_BasePath 278.8510857655215 ns/iter 244.62899999995054 ns/iter 1.14
URITemplateRouterView_Restore 24321.035714284077 ns/iter 23443.251749428575 ns/iter 1.04
URITemplateRouterView_Match 165.00243303571187 ns/iter 159.44353746270315 ns/iter 1.03
URITemplateRouterView_Match_BasePath 182.1735430511945 ns/iter 182.05968629866834 ns/iter 1.00
URITemplateRouterView_Arguments 421.6641886529463 ns/iter 445.82587835027823 ns/iter 0.95
JSONL_Parse_Large 26930904.000000738 ns/iter 28766629.166663427 ns/iter 0.94
JSONL_Parse_Large_GZIP 26481404.00000557 ns/iter 29010242.307689484 ns/iter 0.91
HTML_Build_Table_100000 94405557.14286348 ns/iter 93268014.28574072 ns/iter 1.01
HTML_Render_Table_100000 12199151.785714386 ns/iter 8028379.999999137 ns/iter 1.52
GZIP_Compress_ISO_Language_Set_3_Locations 41248305.882350795 ns/iter 43646537.500009686 ns/iter 0.95
GZIP_Decompress_ISO_Language_Set_3_Locations 14090356.000001522 ns/iter 11446709.375000808 ns/iter 1.23
GZIP_Compress_ISO_Language_Set_3_Schema 2302285.9531768314 ns/iter 2506375.714285371 ns/iter 0.92
GZIP_Decompress_ISO_Language_Set_3_Schema 785606.5848214553 ns/iter 738298.1026786695 ns/iter 1.06

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