Add a few extra convenience methods around GenericPointer#2627
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: This PR adds a couple of convenience helpers to Changes:
Technical Notes: Both helpers are implemented without allocating new pointers and rely on token-wise comparison over the underlying token container. 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Benchmark (linux/gcc)
Details
| Benchmark suite | Current: a92b9a4 | Previous: 2060a4f | Ratio |
|---|---|---|---|
JOSE_VerifySignature_RS256 |
22615.698882734257 ns/iter |
28648.930226835066 ns/iter |
0.79 |
JOSE_VerifySignature_ES512 |
576372.6118421212 ns/iter |
748940.6128341819 ns/iter |
0.77 |
GZIP_Compress_ISO_Language_Set_3_Locations |
36734134.2631562 ns/iter |
45748634.46666768 ns/iter |
0.80 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4388424.162500115 ns/iter |
4690692.912751558 ns/iter |
0.94 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2041389.1574345028 ns/iter |
2662421.5855513406 ns/iter |
0.77 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
380049.0021739076 ns/iter |
322479.43224867404 ns/iter |
1.18 |
HTML_Build_Table_100000 |
62263838.18181024 ns/iter |
79810590.44444312 ns/iter |
0.78 |
HTML_Render_Table_100000 |
2075111.8029852817 ns/iter |
2009152.4166665638 ns/iter |
1.03 |
JSONLD_Catalog_Annotation_List_Populate |
1316186.3632958967 ns/iter |
1531398.7647057981 ns/iter |
0.86 |
JSONLD_Catalog_Materialize |
6847938.072164934 ns/iter |
7867832.144444896 ns/iter |
0.87 |
JSONL_Parse_Large |
13981378.820001282 ns/iter |
15499772.75555597 ns/iter |
0.90 |
JSONL_Parse_Large_GZIP |
15405992.822221983 ns/iter |
17101526.219512492 ns/iter |
0.90 |
URITemplateRouter_Create |
30682.383283657626 ns/iter |
34894.0157947174 ns/iter |
0.88 |
URITemplateRouter_Match |
154.49797188556 ns/iter |
170.358148382477 ns/iter |
0.91 |
URITemplateRouter_Match_BasePath |
177.54917239628801 ns/iter |
195.46609202514009 ns/iter |
0.91 |
URITemplateRouterView_Restore |
8538.887716159854 ns/iter |
11641.744147836422 ns/iter |
0.73 |
URITemplateRouterView_Match |
126.0158476297916 ns/iter |
147.53069165467028 ns/iter |
0.85 |
URITemplateRouterView_Match_BasePath |
145.8275608012339 ns/iter |
165.24468580531044 ns/iter |
0.88 |
URITemplateRouterView_Arguments |
467.9233130702639 ns/iter |
537.5746700688522 ns/iter |
0.87 |
JSONPath_Descendant_Filter_Nested |
1711.800710754392 ns/iter |
2147.3139836197997 ns/iter |
0.80 |
Pointer_Object_Traverse |
30.228217898047685 ns/iter |
38.17042014201655 ns/iter |
0.79 |
Pointer_Object_Try_Traverse |
25.32071767514548 ns/iter |
30.397859503038745 ns/iter |
0.83 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
161.32953629486693 ns/iter |
183.89643111447288 ns/iter |
0.88 |
Pointer_Walker_Schema_ISO_Language |
2869011.2520328374 ns/iter |
3182410.8909089235 ns/iter |
0.90 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1891264.6273971926 ns/iter |
2237529.840255801 ns/iter |
0.85 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1749293.55970148 ns/iter |
1902971.8478261977 ns/iter |
0.92 |
Pointer_Position_Tracker_Get_Deeply_Nested |
516.7806214662353 ns/iter |
509.3048302424369 ns/iter |
1.01 |
JSON_Array_Of_Objects_Unique |
453.8225770522447 ns/iter |
517.1162890000005 ns/iter |
0.88 |
JSON_Parse_1 |
10105.561040684868 ns/iter |
11444.548881383575 ns/iter |
0.88 |
JSON_Parse_Real |
7772.150403729895 ns/iter |
9014.64246649186 ns/iter |
0.86 |
JSON_Parse_Decimal |
12945.702544754711 ns/iter |
12882.688814144914 ns/iter |
1.00 |
JSON_Parse_Schema_ISO_Language |
6803640.264705586 ns/iter |
7799266.831460791 ns/iter |
0.87 |
JSON_Parse_Integer |
5905.044537787012 ns/iter |
6861.799782298118 ns/iter |
0.86 |
JSON_Parse_String_NonSSO_Plain |
12220.934282125385 ns/iter |
14305.363425076603 ns/iter |
0.85 |
JSON_Parse_String_SSO_Plain |
5082.65673755756 ns/iter |
5813.404106018995 ns/iter |
0.87 |
JSON_Parse_String_Escape_Heavy |
25744.005152551792 ns/iter |
28018.313542039992 ns/iter |
0.92 |
JSON_Parse_Object_Short_Keys |
14421.515585182158 ns/iter |
16997.037347821028 ns/iter |
0.85 |
JSON_Parse_Object_Scalar_Properties |
7530.038584595379 ns/iter |
8593.268992076737 ns/iter |
0.88 |
JSON_Parse_Object_Array_Properties |
12197.309906210385 ns/iter |
15069.611981290722 ns/iter |
0.81 |
JSON_Parse_Object_Object_Properties |
12643.725309753112 ns/iter |
14169.02110497794 ns/iter |
0.89 |
JSON_Parse_Nested_Containers |
103212.12305871281 ns/iter |
119443.95500084574 ns/iter |
0.86 |
JSON_From_String_Copy |
17.92434138008351 ns/iter |
23.360682326473043 ns/iter |
0.77 |
JSON_From_String_Temporary |
15.046154116077654 ns/iter |
19.008642911736946 ns/iter |
0.79 |
JSON_Number_To_Double |
21.827231992441654 ns/iter |
23.432177716330713 ns/iter |
0.93 |
JSON_Object_At_Last_Key/8 |
5.922973658628619 ns/iter |
7.3981027309085245 ns/iter |
0.80 |
JSON_Object_At_Last_Key/32 |
24.5028055095743 ns/iter |
27.51738586089187 ns/iter |
0.89 |
JSON_Object_At_Last_Key/128 |
87.23810597904156 ns/iter |
106.40617259028538 ns/iter |
0.82 |
JSON_Object_At_Last_Key/512 |
390.0142512957343 ns/iter |
441.32624938486344 ns/iter |
0.88 |
JSON_Fast_Hash_Helm_Chart_Lock |
76.36127487559463 ns/iter |
88.39676718742835 ns/iter |
0.86 |
JSON_Equality_Helm_Chart_Lock |
150.04499696224894 ns/iter |
180.08269701787884 ns/iter |
0.83 |
JSON_Divisible_By_Decimal |
244.306970962261 ns/iter |
273.8152109519059 ns/iter |
0.89 |
JSON_String_Equal/10 |
5.417464680576182 ns/iter |
6.3110388402740085 ns/iter |
0.86 |
JSON_String_Equal/100 |
6.041231237348676 ns/iter |
7.134834433766547 ns/iter |
0.85 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.623886865891076 ns/iter |
0.8343622415189043 ns/iter |
0.75 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
25.204059092428498 ns/iter |
25.60097708269042 ns/iter |
0.98 |
JSON_String_Fast_Hash/10 |
2.5673241299283625 ns/iter |
2.9797890436508254 ns/iter |
0.86 |
JSON_String_Fast_Hash/100 |
2.567274323690424 ns/iter |
2.9831964182658868 ns/iter |
0.86 |
JSON_String_Key_Hash/10 |
1.2464325620948091 ns/iter |
1.6424567002519372 ns/iter |
0.76 |
JSON_String_Key_Hash/100 |
12.446898548717257 ns/iter |
17.225672051699693 ns/iter |
0.72 |
JSON_Object_Defines_Miss_Same_Length |
3.1157392418659504 ns/iter |
3.6947547336200426 ns/iter |
0.84 |
JSON_Object_Defines_Miss_Too_Small |
3.116304612399677 ns/iter |
4.108492973491272 ns/iter |
0.76 |
JSON_Object_Defines_Miss_Too_Large |
3.113631515178507 ns/iter |
3.6969011488984074 ns/iter |
0.84 |
Regex_Lower_S_Or_Upper_S_Asterisk |
0.6227397009836004 ns/iter |
0.8214443939589544 ns/iter |
0.76 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
0.9343414563814653 ns/iter |
1.231755050503062 ns/iter |
0.76 |
Regex_Period_Asterisk |
0.6230976102373339 ns/iter |
0.8207406032208279 ns/iter |
0.76 |
Regex_Group_Period_Asterisk_Group |
0.934220468785403 ns/iter |
1.2320715123835788 ns/iter |
0.76 |
Regex_Period_Plus |
0.6245049908994432 ns/iter |
0.8212536210516416 ns/iter |
0.76 |
Regex_Period |
0.9350487389098271 ns/iter |
1.2347876084553597 ns/iter |
0.76 |
Regex_Caret_Period_Plus_Dollar |
0.6229279192774627 ns/iter |
0.8208398540386195 ns/iter |
0.76 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
0.9347927483586774 ns/iter |
1.2318167587561288 ns/iter |
0.76 |
Regex_Caret_Period_Asterisk_Dollar |
0.6230447993746473 ns/iter |
0.8214201372345619 ns/iter |
0.76 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
0.9350523157068946 ns/iter |
1.232091040368234 ns/iter |
0.76 |
Regex_Caret_X_Hyphen |
3.741515950800989 ns/iter |
4.10535699676304 ns/iter |
0.91 |
Regex_Period_Md_Dollar |
28.7263084591962 ns/iter |
43.75081267361693 ns/iter |
0.66 |
Regex_Caret_Slash_Period_Asterisk |
4.048073133132866 ns/iter |
4.513611663929354 ns/iter |
0.90 |
Regex_Caret_Period_Range_Dollar |
1.558299001938433 ns/iter |
2.0535551889794927 ns/iter |
0.76 |
Regex_Nested_Backtrack |
38.04951459683648 ns/iter |
50.3613073845285 ns/iter |
0.76 |
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: a92b9a4 | Previous: 2060a4f | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.2272187002888555 ns/iter |
2.463784909556154 ns/iter |
0.90 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.1996971341655542 ns/iter |
2.464981991166389 ns/iter |
0.89 |
Regex_Period_Asterisk |
2.194105438823273 ns/iter |
2.4622188404979766 ns/iter |
0.89 |
Regex_Group_Period_Asterisk_Group |
2.1843325723507765 ns/iter |
2.462612782790485 ns/iter |
0.89 |
Regex_Period_Plus |
2.814046502266709 ns/iter |
3.866701615903649 ns/iter |
0.73 |
Regex_Period |
2.803074108798425 ns/iter |
3.8712255335495764 ns/iter |
0.72 |
Regex_Caret_Period_Plus_Dollar |
2.4912763562922384 ns/iter |
3.516246052698008 ns/iter |
0.71 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.4927390578519955 ns/iter |
3.515172705014188 ns/iter |
0.71 |
Regex_Caret_Period_Asterisk_Dollar |
3.42378328502162 ns/iter |
2.818461106958228 ns/iter |
1.21 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.4275413062939126 ns/iter |
2.8136197084694334 ns/iter |
1.22 |
Regex_Caret_X_Hyphen |
6.555252674972018 ns/iter |
7.030050596035553 ns/iter |
0.93 |
Regex_Period_Md_Dollar |
27.213325853307975 ns/iter |
26.276043041483206 ns/iter |
1.04 |
Regex_Caret_Slash_Period_Asterisk |
7.160387650978914 ns/iter |
7.644511005293332 ns/iter |
0.94 |
Regex_Caret_Period_Range_Dollar |
4.356759246422397 ns/iter |
4.5703818978814335 ns/iter |
0.95 |
Regex_Nested_Backtrack |
38.155261868114486 ns/iter |
39.08510871383605 ns/iter |
0.98 |
JSON_Array_Of_Objects_Unique |
458.4604210416526 ns/iter |
479.39332040654966 ns/iter |
0.96 |
JSON_Parse_1 |
4925.755639308691 ns/iter |
4744.603787904626 ns/iter |
1.04 |
JSON_Parse_Real |
5407.539820078231 ns/iter |
5373.347850747523 ns/iter |
1.01 |
JSON_Parse_Decimal |
7863.748659682855 ns/iter |
7710.529642089171 ns/iter |
1.02 |
JSON_Parse_Schema_ISO_Language |
3477719.338308762 ns/iter |
3604901.525772895 ns/iter |
0.96 |
JSON_Parse_Integer |
3855.9815197219827 ns/iter |
4083.9423262476325 ns/iter |
0.94 |
JSON_Parse_String_NonSSO_Plain |
4889.768558219763 ns/iter |
5105.755274200201 ns/iter |
0.96 |
JSON_Parse_String_SSO_Plain |
2673.2091434358936 ns/iter |
2891.0854991579686 ns/iter |
0.92 |
JSON_Parse_String_Escape_Heavy |
14222.805962555802 ns/iter |
14518.294883237482 ns/iter |
0.98 |
JSON_Parse_Object_Short_Keys |
8074.964734238339 ns/iter |
7896.864670234663 ns/iter |
1.02 |
JSON_Parse_Object_Scalar_Properties |
4155.801776394543 ns/iter |
4039.4516600219977 ns/iter |
1.03 |
JSON_Parse_Object_Array_Properties |
5378.6967455500935 ns/iter |
5524.712248123335 ns/iter |
0.97 |
JSON_Parse_Object_Object_Properties |
5358.439757512568 ns/iter |
5520.6973873984425 ns/iter |
0.97 |
JSON_Parse_Nested_Containers |
45613.05212835938 ns/iter |
45361.015783390685 ns/iter |
1.01 |
JSON_From_String_Copy |
19.317123653574473 ns/iter |
21.12837683726818 ns/iter |
0.91 |
JSON_From_String_Temporary |
17.448995350096826 ns/iter |
19.02036690183158 ns/iter |
0.92 |
JSON_Number_To_Double |
23.74513022636287 ns/iter |
22.561524749390223 ns/iter |
1.05 |
JSON_Object_At_Last_Key/8 |
5.916667883883004 ns/iter |
6.677414281544552 ns/iter |
0.89 |
JSON_Object_At_Last_Key/32 |
21.799438050590666 ns/iter |
23.67005601840536 ns/iter |
0.92 |
JSON_Object_At_Last_Key/128 |
87.90340013179195 ns/iter |
91.2275715254471 ns/iter |
0.96 |
JSON_Object_At_Last_Key/512 |
405.492927109751 ns/iter |
381.05060601000406 ns/iter |
1.06 |
JSON_Fast_Hash_Helm_Chart_Lock |
56.67147096627825 ns/iter |
68.67474057134524 ns/iter |
0.83 |
JSON_Equality_Helm_Chart_Lock |
157.64622819804606 ns/iter |
173.84116337196193 ns/iter |
0.91 |
JSON_Divisible_By_Decimal |
255.70105761392426 ns/iter |
252.10541638523142 ns/iter |
1.01 |
JSON_String_Equal/10 |
5.922608168957189 ns/iter |
5.630705823154669 ns/iter |
1.05 |
JSON_String_Equal/100 |
6.543141632229438 ns/iter |
6.351175491419369 ns/iter |
1.03 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9358831299001003 ns/iter |
1.0548942997857778 ns/iter |
0.89 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
10.283264447391327 ns/iter |
12.480701441867081 ns/iter |
0.82 |
JSON_String_Fast_Hash/10 |
2.1804530426348046 ns/iter |
2.112250746417664 ns/iter |
1.03 |
JSON_String_Fast_Hash/100 |
2.179453331954479 ns/iter |
2.11153146241372 ns/iter |
1.03 |
JSON_String_Key_Hash/10 |
2.501696968112564 ns/iter |
2.8146483708298393 ns/iter |
0.89 |
JSON_String_Key_Hash/100 |
6.537172585921532 ns/iter |
8.083693557693458 ns/iter |
0.81 |
JSON_Object_Defines_Miss_Same_Length |
2.6438910363216586 ns/iter |
2.919206579126845 ns/iter |
0.91 |
JSON_Object_Defines_Miss_Too_Small |
2.6529504406311504 ns/iter |
2.9408352784273704 ns/iter |
0.90 |
JSON_Object_Defines_Miss_Too_Large |
3.229156130454085 ns/iter |
3.210558534949352 ns/iter |
1.01 |
Pointer_Object_Traverse |
28.70314454978151 ns/iter |
30.63675170004453 ns/iter |
0.94 |
Pointer_Object_Try_Traverse |
30.946113378058513 ns/iter |
32.90435598209202 ns/iter |
0.94 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
193.16526643092737 ns/iter |
188.96654451274728 ns/iter |
1.02 |
Pointer_Walker_Schema_ISO_Language |
2618213.8764042566 ns/iter |
2766473.3067727736 ns/iter |
0.95 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1254099.985890672 ns/iter |
1238553.3167259975 ns/iter |
1.01 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1590336.6530611014 ns/iter |
1618156.4884258104 ns/iter |
0.98 |
Pointer_Position_Tracker_Get_Deeply_Nested |
653.9200561633128 ns/iter |
726.2349563503773 ns/iter |
0.90 |
JSONPath_Descendant_Filter_Nested |
1624.4605324148686 ns/iter |
1581.351974931887 ns/iter |
1.03 |
URITemplateRouter_Create |
33586.647768978044 ns/iter |
30581.36662481033 ns/iter |
1.10 |
URITemplateRouter_Match |
175.97585609871345 ns/iter |
177.67789265174602 ns/iter |
0.99 |
URITemplateRouter_Match_BasePath |
201.4385101593972 ns/iter |
210.19280421817146 ns/iter |
0.96 |
URITemplateRouterView_Restore |
8628.241405153447 ns/iter |
9980.132958801583 ns/iter |
0.86 |
URITemplateRouterView_Match |
144.57442285863854 ns/iter |
145.59356672744084 ns/iter |
0.99 |
URITemplateRouterView_Match_BasePath |
164.4366618846715 ns/iter |
165.42383019202123 ns/iter |
0.99 |
URITemplateRouterView_Arguments |
440.30761371273263 ns/iter |
452.05889641614726 ns/iter |
0.97 |
JSONL_Parse_Large |
9688514.708333034 ns/iter |
9077607.987013504 ns/iter |
1.07 |
JSONL_Parse_Large_GZIP |
11298494.806451784 ns/iter |
10860406.738461629 ns/iter |
1.04 |
JSONLD_Catalog_Annotation_List_Populate |
1260288.372972977 ns/iter |
1271218.4563637988 ns/iter |
0.99 |
JSONLD_Catalog_Materialize |
4216887.873494204 ns/iter |
4335407.86075988 ns/iter |
0.97 |
HTML_Build_Table_100000 |
68577458.89999478 ns/iter |
70336451.70000681 ns/iter |
0.97 |
HTML_Render_Table_100000 |
5278212.371212194 ns/iter |
5197671.848484539 ns/iter |
1.02 |
GZIP_Compress_ISO_Language_Set_3_Locations |
32773164.142857544 ns/iter |
35931927.6315809 ns/iter |
0.91 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4075372.4035088806 ns/iter |
4291521.152439151 ns/iter |
0.95 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1861387.3537234173 ns/iter |
2123509.1094226665 ns/iter |
0.88 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
355392.3223182763 ns/iter |
276343.6296881338 ns/iter |
1.29 |
JOSE_VerifySignature_RS256 |
57922.54494335562 ns/iter |
63765.12313432681 ns/iter |
0.91 |
JOSE_VerifySignature_ES512 |
2361636.570945983 ns/iter |
2722568.9069764097 ns/iter |
0.87 |
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: a92b9a4 | Previous: 2060a4f | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.827427292699053 ns/iter |
2.139887258951032 ns/iter |
0.85 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.8112094650185637 ns/iter |
2.3471578695927926 ns/iter |
0.77 |
Regex_Period_Asterisk |
1.823126950499942 ns/iter |
2.3045072684395813 ns/iter |
0.79 |
Regex_Group_Period_Asterisk_Group |
1.7423383495411338 ns/iter |
2.2242996823520618 ns/iter |
0.78 |
Regex_Period_Plus |
2.3232513588728403 ns/iter |
2.627220312155605 ns/iter |
0.88 |
Regex_Period |
2.110551402609149 ns/iter |
2.6344016804618846 ns/iter |
0.80 |
Regex_Caret_Period_Plus_Dollar |
2.339959300159616 ns/iter |
2.769821988019823 ns/iter |
0.84 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.128909266462088 ns/iter |
2.5226815681341876 ns/iter |
0.84 |
Regex_Caret_Period_Asterisk_Dollar |
1.6966882108142098 ns/iter |
2.137122820821 ns/iter |
0.79 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.719346971466587 ns/iter |
2.1599622733826194 ns/iter |
0.80 |
Regex_Caret_X_Hyphen |
6.214700068174303 ns/iter |
7.6567586950560855 ns/iter |
0.81 |
Regex_Period_Md_Dollar |
18.95412777397899 ns/iter |
23.592637461302047 ns/iter |
0.80 |
Regex_Caret_Slash_Period_Asterisk |
4.840656696760721 ns/iter |
6.02178391970428 ns/iter |
0.80 |
Regex_Caret_Period_Range_Dollar |
2.1794473263139604 ns/iter |
2.9919740096581986 ns/iter |
0.73 |
Regex_Nested_Backtrack |
34.75533076809747 ns/iter |
34.554553861252465 ns/iter |
1.01 |
JSON_Array_Of_Objects_Unique |
427.3192357826651 ns/iter |
432.17423832211483 ns/iter |
0.99 |
JSON_Parse_1 |
7132.565850497258 ns/iter |
8836.030459708967 ns/iter |
0.81 |
JSON_Parse_Real |
6774.7757790092855 ns/iter |
8828.061952914082 ns/iter |
0.77 |
JSON_Parse_Decimal |
8542.921016297478 ns/iter |
9425.840263935053 ns/iter |
0.91 |
JSON_Parse_Schema_ISO_Language |
4301960.294117848 ns/iter |
5089147.500000308 ns/iter |
0.85 |
JSON_Parse_Integer |
4968.039332056188 ns/iter |
5680.758049768399 ns/iter |
0.87 |
JSON_Parse_String_NonSSO_Plain |
7825.3500388322345 ns/iter |
8389.282789602208 ns/iter |
0.93 |
JSON_Parse_String_SSO_Plain |
2796.9705399052787 ns/iter |
3333.542648665335 ns/iter |
0.84 |
JSON_Parse_String_Escape_Heavy |
22220.760884004914 ns/iter |
25218.749999998472 ns/iter |
0.88 |
JSON_Parse_Object_Short_Keys |
8084.022720269774 ns/iter |
9722.804725884784 ns/iter |
0.83 |
JSON_Parse_Object_Scalar_Properties |
4536.620073178449 ns/iter |
5944.299475466348 ns/iter |
0.76 |
JSON_Parse_Object_Array_Properties |
7452.258792197701 ns/iter |
9734.062760549727 ns/iter |
0.77 |
JSON_Parse_Object_Object_Properties |
8026.196129031896 ns/iter |
9595.339297425608 ns/iter |
0.84 |
JSON_Parse_Nested_Containers |
61513.76281503007 ns/iter |
81032.98376726164 ns/iter |
0.76 |
JSON_From_String_Copy |
24.388591823127005 ns/iter |
29.410340592175903 ns/iter |
0.83 |
JSON_From_String_Temporary |
19.42747065739221 ns/iter |
24.842787722201074 ns/iter |
0.78 |
JSON_Number_To_Double |
65.32178921502768 ns/iter |
40.37515667851612 ns/iter |
1.62 |
JSON_Object_At_Last_Key/8 |
5.258292319853217 ns/iter |
5.635078750000275 ns/iter |
0.93 |
JSON_Object_At_Last_Key/32 |
14.105214265831304 ns/iter |
14.804427325423168 ns/iter |
0.95 |
JSON_Object_At_Last_Key/128 |
69.2137129800376 ns/iter |
67.68939242723447 ns/iter |
1.02 |
JSON_Object_At_Last_Key/512 |
204.68366145656952 ns/iter |
236.87036446693836 ns/iter |
0.86 |
JSON_Fast_Hash_Helm_Chart_Lock |
61.878624762488066 ns/iter |
80.59694476503192 ns/iter |
0.77 |
JSON_Equality_Helm_Chart_Lock |
163.89346964791136 ns/iter |
153.8227344479907 ns/iter |
1.07 |
JSON_Divisible_By_Decimal |
194.17237390412876 ns/iter |
196.89076740765057 ns/iter |
0.99 |
JSON_String_Equal/10 |
8.292267394729446 ns/iter |
7.407751702973608 ns/iter |
1.12 |
JSON_String_Equal/100 |
7.673735367554467 ns/iter |
6.551851541587886 ns/iter |
1.17 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.42981792814766123 ns/iter |
0.34432847132521144 ns/iter |
1.25 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
4.2975711210986605 ns/iter |
3.3280948761500735 ns/iter |
1.29 |
JSON_String_Fast_Hash/10 |
2.990223858791199 ns/iter |
2.8533820305523516 ns/iter |
1.05 |
JSON_String_Fast_Hash/100 |
3.1332328643708984 ns/iter |
3.2314097813200395 ns/iter |
0.97 |
JSON_String_Key_Hash/10 |
2.557417172763587 ns/iter |
1.8414951602065033 ns/iter |
1.39 |
JSON_String_Key_Hash/100 |
3.3828468379883434 ns/iter |
2.5860169508563624 ns/iter |
1.31 |
JSON_Object_Defines_Miss_Same_Length |
3.777012594253256 ns/iter |
3.085948275603916 ns/iter |
1.22 |
JSON_Object_Defines_Miss_Too_Small |
3.811991393898688 ns/iter |
3.0573743429097093 ns/iter |
1.25 |
JSON_Object_Defines_Miss_Too_Large |
5.355228428559272 ns/iter |
3.360447676458621 ns/iter |
1.59 |
Pointer_Object_Traverse |
33.92860455008103 ns/iter |
26.969448801224353 ns/iter |
1.26 |
Pointer_Object_Try_Traverse |
29.299750437799776 ns/iter |
24.31826341506581 ns/iter |
1.20 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
222.27781766350552 ns/iter |
156.950297030478 ns/iter |
1.42 |
Pointer_Walker_Schema_ISO_Language |
3751656.9533679946 ns/iter |
2612931.931297809 ns/iter |
1.44 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1722201.4344086698 ns/iter |
1214929.1445782124 ns/iter |
1.42 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1397353.4371135177 ns/iter |
1139706.5394547926 ns/iter |
1.23 |
Pointer_Position_Tracker_Get_Deeply_Nested |
347.15611470470543 ns/iter |
359.880298803072 ns/iter |
0.96 |
JSONPath_Descendant_Filter_Nested |
1297.1910867977563 ns/iter |
1255.6237054870658 ns/iter |
1.03 |
URITemplateRouter_Create |
26097.357070839375 ns/iter |
23128.934043464007 ns/iter |
1.13 |
URITemplateRouter_Match |
179.70506209837808 ns/iter |
167.91435666795934 ns/iter |
1.07 |
URITemplateRouter_Match_BasePath |
218.73223581887748 ns/iter |
198.7456292649835 ns/iter |
1.10 |
URITemplateRouterView_Restore |
12009.484102112634 ns/iter |
10182.968345366226 ns/iter |
1.18 |
URITemplateRouterView_Match |
158.78141917144958 ns/iter |
138.95551890676256 ns/iter |
1.14 |
URITemplateRouterView_Match_BasePath |
170.54300886455363 ns/iter |
157.14744159153966 ns/iter |
1.09 |
URITemplateRouterView_Arguments |
583.0038028401044 ns/iter |
549.8238493076453 ns/iter |
1.06 |
JSONL_Parse_Large |
11322470.238094447 ns/iter |
11548581.967212694 ns/iter |
0.98 |
JSONL_Parse_Large_GZIP |
12734110.333332814 ns/iter |
12830789.606557088 ns/iter |
0.99 |
JSONLD_Catalog_Annotation_List_Populate |
1072318.5962442385 ns/iter |
1005194.1106667072 ns/iter |
1.07 |
JSONLD_Catalog_Materialize |
5559636.194029838 ns/iter |
7137389.344261949 ns/iter |
0.78 |
HTML_Build_Table_100000 |
39892208.33333699 ns/iter |
50337923.58333737 ns/iter |
0.79 |
HTML_Render_Table_100000 |
1903192.2450496366 ns/iter |
2093367.698113423 ns/iter |
0.91 |
GZIP_Compress_ISO_Language_Set_3_Locations |
29590909.09090698 ns/iter |
30929140.181817938 ns/iter |
0.96 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
3483690.743718371 ns/iter |
10586783.331250161 ns/iter |
0.33 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1649185.8899297952 ns/iter |
2189014.754098487 ns/iter |
0.75 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
342060.6166974194 ns/iter |
385795.1912715456 ns/iter |
0.89 |
JOSE_VerifySignature_RS256 |
31042.80332104775 ns/iter |
34605.47499269068 ns/iter |
0.90 |
JOSE_VerifySignature_ES512 |
1266862.254578757 ns/iter |
1593909.1974026377 ns/iter |
0.79 |
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: a92b9a4 | Previous: 2060a4f | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
5.335616999999502 ns/iter |
5.377516071427684 ns/iter |
0.99 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
5.050357999999733 ns/iter |
5.081883000000289 ns/iter |
0.99 |
Regex_Period_Asterisk |
5.031299999999419 ns/iter |
5.015582724333141 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
5.036655999999766 ns/iter |
5.0334970000017165 ns/iter |
1.00 |
Regex_Period_Plus |
5.04836800000021 ns/iter |
5.0141009999993 ns/iter |
1.01 |
Regex_Period |
5.366247321429032 ns/iter |
5.339556999999786 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
5.124314999999342 ns/iter |
5.225609108308073 ns/iter |
0.98 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
5.345734821428241 ns/iter |
5.735156000000643 ns/iter |
0.93 |
Regex_Caret_Period_Asterisk_Dollar |
5.360203571428761 ns/iter |
5.376858035713131 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
5.0373035714283025 ns/iter |
5.076186999999663 ns/iter |
0.99 |
Regex_Caret_X_Hyphen |
8.505810267857177 ns/iter |
8.572445051016624 ns/iter |
0.99 |
Regex_Period_Md_Dollar |
45.12186343641784 ns/iter |
45.22575852477118 ns/iter |
1.00 |
Regex_Caret_Slash_Period_Asterisk |
7.874688616071878 ns/iter |
8.113536830359282 ns/iter |
0.97 |
Regex_Caret_Period_Range_Dollar |
5.982209821428545 ns/iter |
6.006838999999218 ns/iter |
1.00 |
Regex_Nested_Backtrack |
57.9536339285726 ns/iter |
57.83942857141662 ns/iter |
1.00 |
JSON_Array_Of_Objects_Unique |
597.6026785715151 ns/iter |
582.352410714293 ns/iter |
1.03 |
JSON_Parse_1 |
8811.213789224921 ns/iter |
9010.840130179486 ns/iter |
0.98 |
JSON_Parse_Real |
16132.689732144863 ns/iter |
16234.56674932756 ns/iter |
0.99 |
JSON_Parse_Decimal |
11889.153125000717 ns/iter |
12001.969642856888 ns/iter |
0.99 |
JSON_Parse_Schema_ISO_Language |
7379041.071427902 ns/iter |
7742064.285713874 ns/iter |
0.95 |
JSON_Parse_Integer |
6137.571428571472 ns/iter |
6156.800892857258 ns/iter |
1.00 |
JSON_Parse_String_NonSSO_Plain |
7830.694952254075 ns/iter |
7935.873883929848 ns/iter |
0.99 |
JSON_Parse_String_SSO_Plain |
3830.0379820753215 ns/iter |
3642.3265890756634 ns/iter |
1.05 |
JSON_Parse_String_Escape_Heavy |
22058.99687499979 ns/iter |
22533.099999996863 ns/iter |
0.98 |
JSON_Parse_Object_Short_Keys |
13186.450000000197 ns/iter |
13304.56225641783 ns/iter |
0.99 |
JSON_Parse_Object_Scalar_Properties |
6793.545758929653 ns/iter |
6857.579464285177 ns/iter |
0.99 |
JSON_Parse_Object_Array_Properties |
11240.12500000049 ns/iter |
11286.989285715825 ns/iter |
1.00 |
JSON_Parse_Object_Object_Properties |
11476.98281249987 ns/iter |
11595.959375000575 ns/iter |
0.99 |
JSON_Parse_Nested_Containers |
77988.43750000473 ns/iter |
79885.61383928274 ns/iter |
0.98 |
JSON_From_String_Copy |
63.734026785715926 ns/iter |
63.96103571428772 ns/iter |
1.00 |
JSON_From_String_Temporary |
58.08708035714411 ns/iter |
57.83789285715102 ns/iter |
1.00 |
JSON_Number_To_Double |
122.91900000000007 ns/iter |
123.7635357143014 ns/iter |
0.99 |
JSON_Object_At_Last_Key/8 |
7.271677678571922 ns/iter |
7.241476562500943 ns/iter |
1.00 |
JSON_Object_At_Last_Key/32 |
23.5802392857108 ns/iter |
23.38503991757614 ns/iter |
1.01 |
JSON_Object_At_Last_Key/128 |
90.90389326321966 ns/iter |
89.5777861795743 ns/iter |
1.01 |
JSON_Object_At_Last_Key/512 |
424.3178337358185 ns/iter |
422.41597002028175 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
104.31433462883079 ns/iter |
103.73729001174196 ns/iter |
1.01 |
JSON_Equality_Helm_Chart_Lock |
209.79013125936922 ns/iter |
210.23062231114253 ns/iter |
1.00 |
JSON_Divisible_By_Decimal |
300.5236472980552 ns/iter |
298.5421875000124 ns/iter |
1.01 |
JSON_String_Equal/10 |
12.878973437498331 ns/iter |
10.614903970470541 ns/iter |
1.21 |
JSON_String_Equal/100 |
14.263645312500017 ns/iter |
11.661032142853855 ns/iter |
1.22 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
2.8953396428570546 ns/iter |
2.5063817857146984 ns/iter |
1.16 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
15.08354017857221 ns/iter |
14.218694196428723 ns/iter |
1.06 |
JSON_String_Fast_Hash/10 |
6.601000000000364 ns/iter |
6.591188392856598 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
6.601874107142335 ns/iter |
6.592000892857592 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
5.3391339999996035 ns/iter |
5.398631000000478 ns/iter |
0.99 |
JSON_String_Key_Hash/100 |
11.883794642857634 ns/iter |
11.87847499999961 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.7707899932663342 ns/iter |
3.768946986607093 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
4.099372632098283 ns/iter |
4.077400669642017 ns/iter |
1.01 |
JSON_Object_Defines_Miss_Too_Large |
3.7830199717677013 ns/iter |
3.78281570753042 ns/iter |
1.00 |
Pointer_Object_Traverse |
70.54339285714053 ns/iter |
70.40637276785691 ns/iter |
1.00 |
Pointer_Object_Try_Traverse |
71.75320312500233 ns/iter |
71.70425892856055 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
159.43830755167696 ns/iter |
178.97993162808078 ns/iter |
0.89 |
Pointer_Walker_Schema_ISO_Language |
11767448.21428599 ns/iter |
10321870.312502313 ns/iter |
1.14 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2380380.7142858854 ns/iter |
2448935.7142856857 ns/iter |
0.97 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3802835.8288778067 ns/iter |
3867878.212290304 ns/iter |
0.98 |
Pointer_Position_Tracker_Get_Deeply_Nested |
512.1108916337326 ns/iter |
526.9250172081537 ns/iter |
0.97 |
JSONPath_Descendant_Filter_Nested |
2403.7135003197377 ns/iter |
2416.972500000319 ns/iter |
0.99 |
URITemplateRouter_Create |
41495.311275832275 ns/iter |
41192.466702818856 ns/iter |
1.01 |
URITemplateRouter_Match |
234.07252967938084 ns/iter |
234.12238458456875 ns/iter |
1.00 |
URITemplateRouter_Match_BasePath |
265.27575291409784 ns/iter |
265.51352524615356 ns/iter |
1.00 |
URITemplateRouterView_Restore |
30910.65354764819 ns/iter |
32567.15625000644 ns/iter |
0.95 |
URITemplateRouterView_Match |
180.38706967739057 ns/iter |
180.2652214522195 ns/iter |
1.00 |
URITemplateRouterView_Match_BasePath |
206.69900416519246 ns/iter |
205.4418129858685 ns/iter |
1.01 |
URITemplateRouterView_Arguments |
532.8793999999561 ns/iter |
531.4763000001221 ns/iter |
1.00 |
JSONL_Parse_Large |
32621057.142857052 ns/iter |
32665247.61904423 ns/iter |
1.00 |
JSONL_Parse_Large_GZIP |
33257385.000001706 ns/iter |
33255328.571428996 ns/iter |
1.00 |
JSONLD_Catalog_Annotation_List_Populate |
2701548.106060589 ns/iter |
2679818.1818175195 ns/iter |
1.01 |
JSONLD_Catalog_Materialize |
7669341.111111155 ns/iter |
7690215.555557087 ns/iter |
1.00 |
HTML_Build_Table_100000 |
89375088.88887654 ns/iter |
89010000.0000176 ns/iter |
1.00 |
HTML_Render_Table_100000 |
7630915.17857057 ns/iter |
7626563.333332746 ns/iter |
1.00 |
GZIP_Compress_ISO_Language_Set_3_Locations |
36888673.684212625 ns/iter |
36710752.6315785 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
10104190.666664485 ns/iter |
9985821.333333055 ns/iter |
1.01 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2115990.3125003157 ns/iter |
2106375.072463524 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
650265.8928571999 ns/iter |
645201.3392857582 ns/iter |
1.01 |
JOSE_VerifySignature_RS256 |
22034.724999997477 ns/iter |
21219.575000003486 ns/iter |
1.04 |
JOSE_VerifySignature_ES512 |
1551431.026785772 ns/iter |
1540366.5178571455 ns/iter |
1.01 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com