-
-
Notifications
You must be signed in to change notification settings - Fork 9
Simplify JSON parsing position callbacks #2199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🤖 Augment PR SummarySummary: This PR refactors the JSON/YAML parse callback API to expose location context (root/property/index) without constructing temporary JSON values. Changes:
Technical Notes: Post-phase callbacks now carry empty location metadata ( 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
c4fd2d1 to
275fa9b
Compare
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
There was a problem hiding this 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: dcb0e63 | Previous: cfe6cd8 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.0212862165998966 ns/iter |
3.110445485074223 ns/iter |
0.65 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.0163930493691407 ns/iter |
3.108545511241515 ns/iter |
0.65 |
Regex_Period_Asterisk |
2.0165551043270273 ns/iter |
3.1077705162366347 ns/iter |
0.65 |
Regex_Group_Period_Asterisk_Group |
2.018108493882687 ns/iter |
3.108613962222955 ns/iter |
0.65 |
Regex_Period_Plus |
2.3051498159110273 ns/iter |
2.82462342515554 ns/iter |
0.82 |
Regex_Period |
2.3058398984127244 ns/iter |
3.0529551604487155 ns/iter |
0.76 |
Regex_Caret_Period_Plus_Dollar |
2.305150195068868 ns/iter |
2.879255655980725 ns/iter |
0.80 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.3058791914712065 ns/iter |
2.8255932725419832 ns/iter |
0.82 |
Regex_Caret_Period_Asterisk_Dollar |
2.023770137959667 ns/iter |
3.419313907579706 ns/iter |
0.59 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.0156914697107466 ns/iter |
3.420459863015211 ns/iter |
0.59 |
Regex_Caret_X_Hyphen |
8.647386197341325 ns/iter |
10.61562581522062 ns/iter |
0.81 |
Regex_Period_Md_Dollar |
25.166433842173365 ns/iter |
27.60243473726318 ns/iter |
0.91 |
Regex_Caret_Slash_Period_Asterisk |
8.889275029845413 ns/iter |
6.526989608078195 ns/iter |
1.36 |
Regex_Caret_Period_Range_Dollar |
2.498272563992758 ns/iter |
3.107356006644032 ns/iter |
0.80 |
Regex_Nested_Backtrack |
43.82374484376192 ns/iter |
48.921112383095085 ns/iter |
0.90 |
JSON_Array_Of_Objects_Unique |
344.5424477360249 ns/iter |
440.0915489666565 ns/iter |
0.78 |
JSON_Parse_1 |
27398.15084214427 ns/iter |
29406.96046754369 ns/iter |
0.93 |
JSON_Parse_Real |
36183.99125892215 ns/iter |
39107.11510710845 ns/iter |
0.93 |
JSON_Parse_Decimal |
127213.24478694682 ns/iter |
132164.74797208846 ns/iter |
0.96 |
JSON_Parse_Schema_ISO_Language |
20459675.999999862 ns/iter |
||
JSON_Fast_Hash_Helm_Chart_Lock |
46.37697712921033 ns/iter |
62.44644343412631 ns/iter |
0.74 |
JSON_Equality_Helm_Chart_Lock |
140.06356991185476 ns/iter |
168.42415228705295 ns/iter |
0.83 |
JSON_String_Equal/10 |
5.183063846072947 ns/iter |
7.159997449705055 ns/iter |
0.72 |
JSON_String_Equal/100 |
6.335048987677472 ns/iter |
7.78641027210648 ns/iter |
0.81 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.6909324113440498 ns/iter |
0.9380016238779324 ns/iter |
0.74 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
9.516499294861736 ns/iter |
10.260554654649795 ns/iter |
0.93 |
JSON_String_Fast_Hash/10 |
2.017076869883836 ns/iter |
2.4880979256789146 ns/iter |
0.81 |
JSON_String_Fast_Hash/100 |
2.0166931138790662 ns/iter |
2.487573558042802 ns/iter |
0.81 |
JSON_String_Key_Hash/10 |
2.0173114857898633 ns/iter |
2.490539328973378 ns/iter |
0.81 |
JSON_String_Key_Hash/100 |
6.623721041413431 ns/iter |
6.533564178665196 ns/iter |
1.01 |
JSON_Object_Defines_Miss_Same_Length |
3.4094825615785473 ns/iter |
3.7349227023753606 ns/iter |
0.91 |
JSON_Object_Defines_Miss_Too_Small |
3.709491029766599 ns/iter |
3.734885044239481 ns/iter |
0.99 |
JSON_Object_Defines_Miss_Too_Large |
3.4060654828041415 ns/iter |
3.73544601831386 ns/iter |
0.91 |
Pointer_Object_Traverse |
36.40033130476624 ns/iter |
44.23093775475135 ns/iter |
0.82 |
Pointer_Object_Try_Traverse |
45.826984277254496 ns/iter |
53.560782007799546 ns/iter |
0.86 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
261.8945198244511 ns/iter |
289.4666932300337 ns/iter |
0.90 |
Pointer_Walker_Schema_ISO_Language |
2999525.155843845 ns/iter |
3173396.64220182 ns/iter |
0.95 |
Schema_Frame_WoT_References |
5240885.716417908 ns/iter |
5981038.30769175 ns/iter |
0.88 |
Schema_Frame_OMC_References |
24082405.931031987 ns/iter |
28193130.360000394 ns/iter |
0.85 |
Schema_Frame_OMC_Locations |
22574164.129031077 ns/iter |
26693512.499998808 ns/iter |
0.85 |
Schema_Frame_ISO_Language_Locations |
116738619.8000031 ns/iter |
127274037.79999804 ns/iter |
0.92 |
Schema_Iterator_ISO_Language |
2216574.5660377415 ns/iter |
2361047.8209459754 ns/iter |
0.94 |
Schema_Frame_ISO_Language_Locations_To_JSON |
129778936.39999822 ns/iter |
130555112.00000183 ns/iter |
0.99 |
Schema_Tracker_ISO_Language |
42608847.12500257 ns/iter |
45085359.66666234 ns/iter |
0.95 |
Schema_Tracker_ISO_Language_To_JSON |
23907084.103449237 ns/iter |
21443230.312499397 ns/iter |
1.11 |
Schema_Format_ISO_Language_To_JSON |
124232863.49998838 ns/iter |
131652135.80002728 ns/iter |
0.94 |
Schema_Bundle_Meta_2020_12 |
2049601.1286571322 ns/iter |
2191207.1406273274 ns/iter |
0.94 |
Schema_Frame_Many_Resources_References |
231169814.00001654 ns/iter |
263414718.33332738 ns/iter |
0.88 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
213795721.66665637 ns/iter |
234579555.3333498 ns/iter |
0.91 |
Alterschema_Check_Readibility_OMC |
29020486.43478417 ns/iter |
34149458.52380567 ns/iter |
0.85 |
EditorSchema_ForEditor_EmbeddedResources |
12936094.444438806 ns/iter |
14681111.875001797 ns/iter |
0.88 |
URITemplateRouter_Create |
12666.126075435735 ns/iter |
16462.582189212313 ns/iter |
0.77 |
URITemplateRouter_Match |
150.98261648384303 ns/iter |
172.25354116652696 ns/iter |
0.88 |
URITemplateRouterView_Restore |
3487.4723124439442 ns/iter |
8110.463670862228 ns/iter |
0.43 |
URITemplateRouterView_Match |
109.22063363130721 ns/iter |
119.89604302391346 ns/iter |
0.91 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
There was a problem hiding this 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: dcb0e63 | Previous: cfe6cd8 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
4.1335647395251875 ns/iter |
4.870366598445547 ns/iter |
0.85 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
4.1106487481643 ns/iter |
4.574729274481569 ns/iter |
0.90 |
Regex_Period_Asterisk |
4.457320000000209 ns/iter |
4.409984029350437 ns/iter |
1.01 |
Regex_Group_Period_Asterisk_Group |
4.1283801544059475 ns/iter |
4.084736971580222 ns/iter |
1.01 |
Regex_Period_Plus |
4.142311069580469 ns/iter |
4.4074356250000335 ns/iter |
0.94 |
Regex_Period |
4.097580275173169 ns/iter |
4.403269999999537 ns/iter |
0.93 |
Regex_Caret_Period_Plus_Dollar |
3.795807850364692 ns/iter |
4.0830460696056825 ns/iter |
0.93 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.8010712432122413 ns/iter |
3.7662878504171475 ns/iter |
1.01 |
Regex_Caret_Period_Asterisk_Dollar |
4.11889795378321 ns/iter |
4.101043846608814 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.128353636549705 ns/iter |
3.7808030289628554 ns/iter |
1.09 |
Regex_Caret_X_Hyphen |
7.972367187498719 ns/iter |
7.559736607143058 ns/iter |
1.05 |
Regex_Period_Md_Dollar |
36.39501806063189 ns/iter |
35.54018545607062 ns/iter |
1.02 |
Regex_Caret_Slash_Period_Asterisk |
7.648588169644199 ns/iter |
7.227875000000138 ns/iter |
1.06 |
Regex_Caret_Period_Range_Dollar |
4.161980690107004 ns/iter |
4.109841480553515 ns/iter |
1.01 |
Regex_Nested_Backtrack |
108.56793265320958 ns/iter |
106.15162500000608 ns/iter |
1.02 |
JSON_Array_Of_Objects_Unique |
542.9667857143272 ns/iter |
496.3703999999325 ns/iter |
1.09 |
JSON_Parse_1 |
75793.11607141141 ns/iter |
71557.93749999719 ns/iter |
1.06 |
JSON_Parse_Real |
100962.48437498901 ns/iter |
90451.88161242836 ns/iter |
1.12 |
JSON_Parse_Decimal |
342580.74948669097 ns/iter |
335913.21218072536 ns/iter |
1.02 |
JSON_Parse_Schema_ISO_Language |
60124845.45453844 ns/iter |
||
JSON_Fast_Hash_Helm_Chart_Lock |
74.30979910714493 ns/iter |
68.96378571428029 ns/iter |
1.08 |
JSON_Equality_Helm_Chart_Lock |
288.0795463428523 ns/iter |
263.2123928571316 ns/iter |
1.09 |
JSON_String_Equal/10 |
13.821050831159937 ns/iter |
12.240001785715192 ns/iter |
1.13 |
JSON_String_Equal/100 |
15.443895466770414 ns/iter |
13.863007304180336 ns/iter |
1.11 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.9842452696284705 ns/iter |
2.202000624999556 ns/iter |
0.90 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
12.840207531964731 ns/iter |
12.847142857144231 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
3.776433035713416 ns/iter |
3.760292671855909 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
3.986336778595868 ns/iter |
3.8769101716481273 ns/iter |
1.03 |
JSON_String_Key_Hash/10 |
3.942515350102486 ns/iter |
3.8549544574017527 ns/iter |
1.02 |
JSON_String_Key_Hash/100 |
16.85563136034138 ns/iter |
13.754245920739434 ns/iter |
1.23 |
JSON_Object_Defines_Miss_Same_Length |
3.778489397321394 ns/iter |
4.75920335883789 ns/iter |
0.79 |
JSON_Object_Defines_Miss_Too_Small |
4.711144041230234 ns/iter |
3.7735141004044523 ns/iter |
1.25 |
JSON_Object_Defines_Miss_Too_Large |
3.9860399928817656 ns/iter |
4.81762627339769 ns/iter |
0.83 |
Pointer_Object_Traverse |
56.514517857136426 ns/iter |
49.34719642857235 ns/iter |
1.15 |
Pointer_Object_Try_Traverse |
75.52444196429673 ns/iter |
70.09699107143774 ns/iter |
1.08 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
167.5585179169073 ns/iter |
157.24595982144405 ns/iter |
1.07 |
Pointer_Walker_Schema_ISO_Language |
8943481.33333248 ns/iter |
12530610.937499631 ns/iter |
0.71 |
Schema_Frame_WoT_References |
11393291.07143031 ns/iter |
12232741.071431162 ns/iter |
0.93 |
Schema_Frame_OMC_References |
58617390.90908652 ns/iter |
62964899.99999721 ns/iter |
0.93 |
Schema_Frame_OMC_Locations |
54436500.00000327 ns/iter |
59393299.9999879 ns/iter |
0.92 |
Schema_Frame_ISO_Language_Locations |
243835333.33336043 ns/iter |
277401200.00009936 ns/iter |
0.88 |
Schema_Iterator_ISO_Language |
4198212.650601226 ns/iter |
4417040.259740984 ns/iter |
0.95 |
Schema_Frame_ISO_Language_Locations_To_JSON |
258027066.6666517 ns/iter |
258890500.0000068 ns/iter |
1.00 |
Schema_Tracker_ISO_Language |
98523971.42857885 ns/iter |
101904100.00003189 ns/iter |
0.97 |
Schema_Tracker_ISO_Language_To_JSON |
50792819.999992386 ns/iter |
55202627.2727372 ns/iter |
0.92 |
Schema_Format_ISO_Language_To_JSON |
245004533.33325824 ns/iter |
258928650.00002986 ns/iter |
0.95 |
Schema_Bundle_Meta_2020_12 |
4154052.3255717787 ns/iter |
4257955.42168615 ns/iter |
0.98 |
Schema_Frame_Many_Resources_References |
517046599.99995786 ns/iter |
533336500.0001322 ns/iter |
0.97 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
366069349.9999752 ns/iter |
392486849.99995476 ns/iter |
0.93 |
Alterschema_Check_Readibility_OMC |
70519300.00001118 ns/iter |
72018744.44442385 ns/iter |
0.98 |
EditorSchema_ForEditor_EmbeddedResources |
27846359.9999759 ns/iter |
26879535.714280274 ns/iter |
1.04 |
URITemplateRouter_Create |
23642.19633438778 ns/iter |
22274.800000005256 ns/iter |
1.06 |
URITemplateRouter_Match |
229.9444375000093 ns/iter |
207.89741259382117 ns/iter |
1.11 |
URITemplateRouterView_Restore |
34584.084821430246 ns/iter |
33638.2008928585 ns/iter |
1.03 |
URITemplateRouterView_Match |
151.89004009418068 ns/iter |
142.8204110347986 ns/iter |
1.06 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this 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: dcb0e63 | Previous: cfe6cd8 | Ratio |
|---|---|---|---|
URITemplateRouter_Create |
14446.81219062578 ns/iter |
14788.983442628241 ns/iter |
0.98 |
URITemplateRouter_Match |
161.84358478755425 ns/iter |
162.0654125785062 ns/iter |
1.00 |
URITemplateRouterView_Restore |
8328.504071670548 ns/iter |
8232.22330142978 ns/iter |
1.01 |
URITemplateRouterView_Match |
141.6333064244648 ns/iter |
114.61695946385026 ns/iter |
1.24 |
EditorSchema_ForEditor_EmbeddedResources |
15817335.613591736 ns/iter |
15661208.933301574 ns/iter |
1.01 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
244065108.66667 ns/iter |
241020775.99998966 ns/iter |
1.01 |
Alterschema_Check_Readibility_OMC |
38941525.16666812 ns/iter |
37296070.15788803 ns/iter |
1.04 |
Schema_Frame_WoT_References |
6538597.822429573 ns/iter |
6497859.212962103 ns/iter |
1.01 |
Schema_Frame_OMC_References |
31731695.45454419 ns/iter |
30742621.739136666 ns/iter |
1.03 |
Schema_Frame_OMC_Locations |
29998298.45833801 ns/iter |
28697382.291672587 ns/iter |
1.05 |
Schema_Frame_ISO_Language_Locations |
134741041.79999813 ns/iter |
133679108.80001545 ns/iter |
1.01 |
Schema_Iterator_ISO_Language |
2667263.722433423 ns/iter |
2727685.128404494 ns/iter |
0.98 |
Schema_Frame_ISO_Language_Locations_To_JSON |
321964481.5000038 ns/iter |
298922724.3333517 ns/iter |
1.08 |
Schema_Tracker_ISO_Language |
51008964.700008616 ns/iter |
49274216.0714345 ns/iter |
1.04 |
Schema_Tracker_ISO_Language_To_JSON |
37841661.947368264 ns/iter |
34207707.190467946 ns/iter |
1.11 |
Schema_Format_ISO_Language_To_JSON |
144526198.99993807 ns/iter |
141173876.19999135 ns/iter |
1.02 |
Schema_Bundle_Meta_2020_12 |
2433626.2048620936 ns/iter |
2405054.704470401 ns/iter |
1.01 |
Schema_Frame_Many_Resources_References |
299916596.00000274 ns/iter |
282879491.5000117 ns/iter |
1.06 |
Pointer_Object_Traverse |
48.86795081688795 ns/iter |
46.24573873198895 ns/iter |
1.06 |
Pointer_Object_Try_Traverse |
26.315157425606404 ns/iter |
26.174300161519405 ns/iter |
1.01 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
164.60843310260137 ns/iter |
171.67007220068007 ns/iter |
0.96 |
Pointer_Walker_Schema_ISO_Language |
3457356.3163265283 ns/iter |
3531561.1005021473 ns/iter |
0.98 |
JSON_Array_Of_Objects_Unique |
411.91301145940355 ns/iter |
386.15184059656696 ns/iter |
1.07 |
JSON_Parse_1 |
33144.32354195693 ns/iter |
32876.19168130706 ns/iter |
1.01 |
JSON_Parse_Real |
42879.5226608671 ns/iter |
43708.72399497718 ns/iter |
0.98 |
JSON_Parse_Decimal |
157321.79721394175 ns/iter |
156358.22832177638 ns/iter |
1.01 |
JSON_Parse_Schema_ISO_Language |
22829386.161286112 ns/iter |
||
JSON_Fast_Hash_Helm_Chart_Lock |
59.96732971376628 ns/iter |
56.78096656100717 ns/iter |
1.06 |
JSON_Equality_Helm_Chart_Lock |
158.49776787867685 ns/iter |
151.04378204453326 ns/iter |
1.05 |
JSON_String_Equal/10 |
6.661102815340125 ns/iter |
6.311843170094666 ns/iter |
1.06 |
JSON_String_Equal/100 |
7.273795766261496 ns/iter |
6.929191344413063 ns/iter |
1.05 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9350958448405857 ns/iter |
0.6241909730609488 ns/iter |
1.50 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
19.64309545224527 ns/iter |
19.61777809456706 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
1.9089962220867758 ns/iter |
1.9090889301278067 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
1.908070937666365 ns/iter |
1.9064086509295308 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
1.2449739371995365 ns/iter |
1.5592574816953908 ns/iter |
0.80 |
JSON_String_Key_Hash/100 |
12.424720657830274 ns/iter |
12.450485549895568 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
2.488229196929386 ns/iter |
2.4879540903550432 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
2.8051959162839175 ns/iter |
2.8072504335172774 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
2.490616300079612 ns/iter |
2.487090244790218 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
3.4248525879132905 ns/iter |
3.4240212466280715 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.421325502498874 ns/iter |
3.4208347385643276 ns/iter |
1.00 |
Regex_Period_Asterisk |
3.418900548589052 ns/iter |
3.424512402841537 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
3.419566450958466 ns/iter |
3.429019838888722 ns/iter |
1.00 |
Regex_Period_Plus |
3.4265550193248346 ns/iter |
3.4332523897614493 ns/iter |
1.00 |
Regex_Period |
3.4196031223856567 ns/iter |
3.3064383246950206 ns/iter |
1.03 |
Regex_Caret_Period_Plus_Dollar |
3.418921216219628 ns/iter |
3.108464749448014 ns/iter |
1.10 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.4201009907446713 ns/iter |
3.109417360246731 ns/iter |
1.10 |
Regex_Caret_Period_Asterisk_Dollar |
4.663342553342598 ns/iter |
3.732517414138421 ns/iter |
1.25 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.67539580329852 ns/iter |
3.7356632389759574 ns/iter |
1.25 |
Regex_Caret_X_Hyphen |
13.688986617583913 ns/iter |
13.13984029964744 ns/iter |
1.04 |
Regex_Period_Md_Dollar |
35.885986851243096 ns/iter |
35.922601961471315 ns/iter |
1.00 |
Regex_Caret_Slash_Period_Asterisk |
9.015172964589928 ns/iter |
9.018454656327588 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
4.662419143330161 ns/iter |
4.669244533598284 ns/iter |
1.00 |
Regex_Nested_Backtrack |
59.16570141613123 ns/iter |
59.4680865894191 ns/iter |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this 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: dcb0e63 | Previous: cfe6cd8 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.892157709730467 ns/iter |
2.3163458515569877 ns/iter |
0.82 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.083920245989135 ns/iter |
2.206716366778203 ns/iter |
0.94 |
Regex_Period_Asterisk |
1.9371741363025685 ns/iter |
2.506278931528664 ns/iter |
0.77 |
Regex_Group_Period_Asterisk_Group |
1.8838190077286825 ns/iter |
2.4169447216628694 ns/iter |
0.78 |
Regex_Period_Plus |
2.474811854919932 ns/iter |
2.6341928570492406 ns/iter |
0.94 |
Regex_Period |
2.846198369454346 ns/iter |
2.934988633005485 ns/iter |
0.97 |
Regex_Caret_Period_Plus_Dollar |
2.300461254852853 ns/iter |
2.8094282309273164 ns/iter |
0.82 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.675912677782745 ns/iter |
2.7078415927555106 ns/iter |
0.99 |
Regex_Caret_Period_Asterisk_Dollar |
2.0130033984836544 ns/iter |
2.1250809718116312 ns/iter |
0.95 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.9536172828146812 ns/iter |
2.364642634747227 ns/iter |
0.83 |
Regex_Caret_X_Hyphen |
6.9380120919780435 ns/iter |
8.303636105483745 ns/iter |
0.84 |
Regex_Period_Md_Dollar |
25.737599377549074 ns/iter |
27.810359449725034 ns/iter |
0.93 |
Regex_Caret_Slash_Period_Asterisk |
6.454200354786943 ns/iter |
6.986125644912154 ns/iter |
0.92 |
Regex_Caret_Period_Range_Dollar |
1.9761427482017826 ns/iter |
2.3554083167093522 ns/iter |
0.84 |
Regex_Nested_Backtrack |
32.61060015631062 ns/iter |
38.17568736015567 ns/iter |
0.85 |
JSON_Array_Of_Objects_Unique |
384.8684111483076 ns/iter |
452.07723231656166 ns/iter |
0.85 |
JSON_Parse_1 |
23888.317995121906 ns/iter |
28748.002743589735 ns/iter |
0.83 |
JSON_Parse_Real |
33650.49362880837 ns/iter |
33489.04325577223 ns/iter |
1.00 |
JSON_Parse_Decimal |
297116.4213460525 ns/iter |
354640.4995187613 ns/iter |
0.84 |
JSON_Parse_Schema_ISO_Language |
21866190.972221807 ns/iter |
||
JSON_Fast_Hash_Helm_Chart_Lock |
72.66685651086704 ns/iter |
72.43023691574061 ns/iter |
1.00 |
JSON_Equality_Helm_Chart_Lock |
169.0764518345577 ns/iter |
179.59100347462058 ns/iter |
0.94 |
JSON_String_Equal/10 |
8.578468239027922 ns/iter |
9.304027278324106 ns/iter |
0.92 |
JSON_String_Equal/100 |
7.965434191949342 ns/iter |
9.031429110701033 ns/iter |
0.88 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.3798962944532467 ns/iter |
0.4047900757338927 ns/iter |
0.94 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
4.287966985295944 ns/iter |
4.5511659729043075 ns/iter |
0.94 |
JSON_String_Fast_Hash/10 |
2.630300887372694 ns/iter |
2.8595304115035898 ns/iter |
0.92 |
JSON_String_Fast_Hash/100 |
2.16376243665738 ns/iter |
2.617902335754038 ns/iter |
0.83 |
JSON_String_Key_Hash/10 |
1.5651326846492841 ns/iter |
1.8716211999497145 ns/iter |
0.84 |
JSON_String_Key_Hash/100 |
2.7777714221437972 ns/iter |
2.6538076026960544 ns/iter |
1.05 |
JSON_Object_Defines_Miss_Same_Length |
3.794943956932461 ns/iter |
3.4332162628203307 ns/iter |
1.11 |
JSON_Object_Defines_Miss_Too_Small |
3.305175614373343 ns/iter |
3.406540503019913 ns/iter |
0.97 |
JSON_Object_Defines_Miss_Too_Large |
3.3477287905051907 ns/iter |
3.154554426965146 ns/iter |
1.06 |
Pointer_Object_Traverse |
15.512279380562248 ns/iter |
19.14789165887542 ns/iter |
0.81 |
Pointer_Object_Try_Traverse |
24.968387476215618 ns/iter |
27.70470338021701 ns/iter |
0.90 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
188.44515233718082 ns/iter |
209.3091253397087 ns/iter |
0.90 |
Pointer_Walker_Schema_ISO_Language |
5927479.33884285 ns/iter |
5869381.555555719 ns/iter |
1.01 |
Schema_Frame_WoT_References |
6960151.515152051 ns/iter |
7732099.209522944 ns/iter |
0.90 |
Schema_Frame_OMC_References |
38212303.571429275 ns/iter |
43227451.000000335 ns/iter |
0.88 |
Schema_Frame_OMC_Locations |
55377154.20000495 ns/iter |
42386606.44444457 ns/iter |
1.31 |
Schema_Frame_ISO_Language_Locations |
165147683.400005 ns/iter |
148011145.7499902 ns/iter |
1.12 |
Schema_Iterator_ISO_Language |
2758056.6801619534 ns/iter |
2876109.05652153 ns/iter |
0.96 |
Schema_Frame_ISO_Language_Locations_To_JSON |
106111166.66668372 ns/iter |
126397783.39998884 ns/iter |
0.84 |
Schema_Tracker_ISO_Language |
54752946.42857469 ns/iter |
62645814.36363931 ns/iter |
0.87 |
Schema_Tracker_ISO_Language_To_JSON |
17469686.18749989 ns/iter |
23287780.61764952 ns/iter |
0.75 |
Schema_Format_ISO_Language_To_JSON |
128378808.19997735 ns/iter |
161001650.00004834 ns/iter |
0.80 |
Schema_Bundle_Meta_2020_12 |
2378609.3693209537 ns/iter |
2484685.352025787 ns/iter |
0.96 |
Schema_Frame_Many_Resources_References |
275806895.4999544 ns/iter |
330508416.9999759 ns/iter |
0.83 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
206972041.66666928 ns/iter |
232999833.33333787 ns/iter |
0.89 |
Alterschema_Check_Readibility_OMC |
40900029.411766484 ns/iter |
45826955.53333451 ns/iter |
0.89 |
EditorSchema_ForEditor_EmbeddedResources |
15983433.48076871 ns/iter |
16960392.341452572 ns/iter |
0.94 |
URITemplateRouter_Create |
21145.365699287344 ns/iter |
22907.865492179528 ns/iter |
0.92 |
URITemplateRouter_Match |
190.47462385650775 ns/iter |
205.62593908467474 ns/iter |
0.93 |
URITemplateRouterView_Restore |
11534.047348873168 ns/iter |
15031.264639411875 ns/iter |
0.77 |
URITemplateRouterView_Match |
125.15750892259435 ns/iter |
145.0078309093311 ns/iter |
0.86 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark (macos/gcc)
Details
| Benchmark suite | Current: dcb0e63 | Previous: cfe6cd8 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.857904343246408 ns/iter |
3.206008088855165 ns/iter |
0.89 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.2978987046552914 ns/iter |
3.16214923879195 ns/iter |
1.04 |
Regex_Period_Asterisk |
2.900156343920843 ns/iter |
3.0680739997415727 ns/iter |
0.95 |
Regex_Group_Period_Asterisk_Group |
3.1013830041477606 ns/iter |
3.373480674224001 ns/iter |
0.92 |
Regex_Period_Plus |
3.3403993032558223 ns/iter |
3.176765616866075 ns/iter |
1.05 |
Regex_Period |
2.8999628995257374 ns/iter |
3.2966125909125714 ns/iter |
0.88 |
Regex_Caret_Period_Plus_Dollar |
3.1241115807952435 ns/iter |
3.311778912809158 ns/iter |
0.94 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.9985884734201687 ns/iter |
3.2981959010705824 ns/iter |
0.91 |
Regex_Caret_Period_Asterisk_Dollar |
2.826423231039199 ns/iter |
3.2690476348914608 ns/iter |
0.86 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.1460752655308557 ns/iter |
3.0056628703862516 ns/iter |
1.05 |
Regex_Caret_X_Hyphen |
8.698778112706963 ns/iter |
11.037025162692002 ns/iter |
0.79 |
Regex_Period_Md_Dollar |
29.549779567930806 ns/iter |
40.27703369576211 ns/iter |
0.73 |
Regex_Caret_Slash_Period_Asterisk |
6.264622052660973 ns/iter |
7.906960408599746 ns/iter |
0.79 |
Regex_Caret_Period_Range_Dollar |
2.9954732471237024 ns/iter |
4.233028588549191 ns/iter |
0.71 |
Regex_Nested_Backtrack |
63.54365296470495 ns/iter |
83.47762104748057 ns/iter |
0.76 |
JSON_Array_Of_Objects_Unique |
405.31225715225924 ns/iter |
517.4579620361328 ns/iter |
0.78 |
JSON_Parse_1 |
35128.984806640874 ns/iter |
54581.79542938987 ns/iter |
0.64 |
JSON_Parse_Real |
34720.68435267398 ns/iter |
41437.259426823366 ns/iter |
0.84 |
JSON_Parse_Decimal |
377008.03104751435 ns/iter |
446382.3511109182 ns/iter |
0.84 |
JSON_Parse_Schema_ISO_Language |
26511481.313994437 ns/iter |
||
JSON_Fast_Hash_Helm_Chart_Lock |
38.136697083848226 ns/iter |
52.67594388244264 ns/iter |
0.72 |
JSON_Equality_Helm_Chart_Lock |
150.84270051429002 ns/iter |
196.4210056287687 ns/iter |
0.77 |
JSON_String_Equal/10 |
7.4965682109952 ns/iter |
8.832488768058033 ns/iter |
0.85 |
JSON_String_Equal/100 |
7.28977520576398 ns/iter |
7.9326605058095945 ns/iter |
0.92 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9986445312036473 ns/iter |
1.1390536414934114 ns/iter |
0.88 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
5.113568536495524 ns/iter |
5.0462588049890975 ns/iter |
1.01 |
JSON_String_Fast_Hash/10 |
2.552562140765195 ns/iter |
2.5965883629059907 ns/iter |
0.98 |
JSON_String_Fast_Hash/100 |
2.32593667257995 ns/iter |
2.4453602046884697 ns/iter |
0.95 |
JSON_String_Key_Hash/10 |
1.924938432677591 ns/iter |
1.8526865016099003 ns/iter |
1.04 |
JSON_String_Key_Hash/100 |
3.27215164335368 ns/iter |
4.053574243344098 ns/iter |
0.81 |
JSON_Object_Defines_Miss_Same_Length |
2.10924850657737 ns/iter |
2.5064487506052413 ns/iter |
0.84 |
JSON_Object_Defines_Miss_Too_Small |
2.41333254000422 ns/iter |
2.4608782770675997 ns/iter |
0.98 |
JSON_Object_Defines_Miss_Too_Large |
2.2011268604828786 ns/iter |
2.2443515447665963 ns/iter |
0.98 |
Pointer_Object_Traverse |
65.80302011907555 ns/iter |
59.53383939642682 ns/iter |
1.11 |
Pointer_Object_Try_Traverse |
55.17990026805437 ns/iter |
40.39424817258943 ns/iter |
1.37 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
187.65423260281588 ns/iter |
171.90917223830016 ns/iter |
1.09 |
Pointer_Walker_Schema_ISO_Language |
4785071.790607926 ns/iter |
4758732.659476144 ns/iter |
1.01 |
Schema_Frame_WoT_References |
6314320.810909929 ns/iter |
6342297.893459514 ns/iter |
1.00 |
Schema_Frame_OMC_References |
37556909.37950498 ns/iter |
36219369.28142201 ns/iter |
1.04 |
Schema_Frame_OMC_Locations |
48406541.34750366 ns/iter |
33805738.79588734 ns/iter |
1.43 |
Schema_Frame_ISO_Language_Locations |
162470459.93804932 ns/iter |
114011645.31707764 ns/iter |
1.43 |
Schema_Iterator_ISO_Language |
2500656.2225089585 ns/iter |
1934466.441033295 ns/iter |
1.29 |
Schema_Frame_ISO_Language_Locations_To_JSON |
242005030.3141276 ns/iter |
162422776.222229 ns/iter |
1.49 |
Schema_Tracker_ISO_Language |
53214597.70202637 ns/iter |
42178182.04094382 ns/iter |
1.26 |
Schema_Tracker_ISO_Language_To_JSON |
38885241.463070825 ns/iter |
27573919.29626465 ns/iter |
1.41 |
Schema_Format_ISO_Language_To_JSON |
171179056.16760254 ns/iter |
120032350.2222697 ns/iter |
1.43 |
Schema_Bundle_Meta_2020_12 |
2471752.3340593306 ns/iter |
2390338.3625497064 ns/iter |
1.03 |
Schema_Frame_Many_Resources_References |
407441496.84906006 ns/iter |
437376499.1760254 ns/iter |
0.93 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
219189961.7513021 ns/iter |
249613285.06469727 ns/iter |
0.88 |
Alterschema_Check_Readibility_OMC |
51281833.64868164 ns/iter |
50919294.357299805 ns/iter |
1.01 |
EditorSchema_ForEditor_EmbeddedResources |
16154456.782985378 ns/iter |
17248407.006263733 ns/iter |
0.94 |
URITemplateRouter_Create |
16167.94943627303 ns/iter |
18052.577122524115 ns/iter |
0.90 |
URITemplateRouter_Match |
242.765154038358 ns/iter |
219.87374628183613 ns/iter |
1.10 |
URITemplateRouterView_Restore |
13110.030393366984 ns/iter |
14191.475922988275 ns/iter |
0.92 |
URITemplateRouterView_Match |
154.9281681571075 ns/iter |
151.7239755895186 ns/iter |
1.02 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com