Make use of JSONObject::Entry::key_equals in src/core/jsonld#2547
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: This PR refactors JSON-LD processing code to use Changes:
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 👎 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com