Simplify hashing JSON object keys#2398
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
8e78edb to
112c380
Compare
🤖 Augment PR SummarySummary: Refactors JSON object key hashing so hashes can be computed without constructing a JSON object instance. Changes:
Technical Notes: Removes the need to allocate/build a temporary JSON object solely to obtain property hashes. 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com