Support string views when parsing JSON Pointers#2372
Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: This PR updates JSON Pointer parsing to accept non-owning string inputs. Changes:
Technical Notes: The new API enables parsing from substrings without requiring callers to allocate an owning string first (the parser still copies internally to build an 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 297dcf2 | Previous: b267bc8 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.178810059068196 ns/iter |
2.1825122408171818 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.1818320627000394 ns/iter |
2.2033225064901876 ns/iter |
0.99 |
Regex_Period_Asterisk |
2.178192223564437 ns/iter |
2.1845092039075404 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
2.179192157496583 ns/iter |
2.1946249641075366 ns/iter |
0.99 |
Regex_Period_Plus |
2.8023733890830376 ns/iter |
2.5879382704409783 ns/iter |
1.08 |
Regex_Period |
3.1123095132363483 ns/iter |
2.800740545802782 ns/iter |
1.11 |
Regex_Caret_Period_Plus_Dollar |
2.802815345851287 ns/iter |
2.679975381133679 ns/iter |
1.05 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.1231718038015943 ns/iter |
2.804637051520626 ns/iter |
1.11 |
Regex_Caret_Period_Asterisk_Dollar |
2.7359556358634674 ns/iter |
2.1907025931855717 ns/iter |
1.25 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.179949860339159 ns/iter |
2.4911885986917444 ns/iter |
0.88 |
Regex_Caret_X_Hyphen |
5.607945910599745 ns/iter |
6.54469462125121 ns/iter |
0.86 |
Regex_Period_Md_Dollar |
29.074019240758744 ns/iter |
27.61167707588847 ns/iter |
1.05 |
Regex_Caret_Slash_Period_Asterisk |
5.927809024100011 ns/iter |
6.847928892663993 ns/iter |
0.87 |
Regex_Caret_Period_Range_Dollar |
3.735076254628836 ns/iter |
3.7362465585717675 ns/iter |
1.00 |
Regex_Nested_Backtrack |
37.79250567390608 ns/iter |
36.786051891085314 ns/iter |
1.03 |
JSON_Array_Of_Objects_Unique |
419.6137455194791 ns/iter |
423.2270002485279 ns/iter |
0.99 |
JSON_Parse_1 |
5814.692391871932 ns/iter |
5937.862805934339 ns/iter |
0.98 |
JSON_Parse_Real |
11269.354946275535 ns/iter |
11150.267051475897 ns/iter |
1.01 |
JSON_Parse_Decimal |
11591.82898113971 ns/iter |
11415.082932337727 ns/iter |
1.02 |
JSON_Parse_Schema_ISO_Language |
3702181.3597877757 ns/iter |
3708305.354497276 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
60.40893437083709 ns/iter |
60.41969826094257 ns/iter |
1.00 |
JSON_Equality_Helm_Chart_Lock |
159.04774529687393 ns/iter |
171.1233282371323 ns/iter |
0.93 |
JSON_Divisible_By_Decimal |
254.8463496831584 ns/iter |
249.18480130942203 ns/iter |
1.02 |
JSON_String_Equal/10 |
5.938421886121966 ns/iter |
5.930765513660318 ns/iter |
1.00 |
JSON_String_Equal/100 |
6.541371928903126 ns/iter |
6.56970831459328 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9366713518916339 ns/iter |
0.9359003872864334 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.628733037526867 ns/iter |
10.27094919489437 ns/iter |
1.42 |
JSON_String_Fast_Hash/10 |
2.8048760048800228 ns/iter |
2.8040118661700153 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
2.80250345683728 ns/iter |
2.8098618356119824 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
2.5458397622410107 ns/iter |
2.1833870940774474 ns/iter |
1.17 |
JSON_String_Key_Hash/100 |
9.034497173087022 ns/iter |
6.536668062624305 ns/iter |
1.38 |
JSON_Object_Defines_Miss_Same_Length |
3.7386307728472095 ns/iter |
3.7415290697522345 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.7428015736336704 ns/iter |
3.7460426386113417 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.8924541808636772 ns/iter |
3.740285758793604 ns/iter |
1.04 |
Pointer_Object_Traverse |
24.13016202200477 ns/iter |
23.937022383534668 ns/iter |
1.01 |
Pointer_Object_Try_Traverse |
27.9040878382759 ns/iter |
27.876766890013904 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
190.82557027753157 ns/iter |
181.70780218007275 ns/iter |
1.05 |
Pointer_Walker_Schema_ISO_Language |
3039002.3056766815 ns/iter |
3084695.109649011 ns/iter |
0.99 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1399275.5948102837 ns/iter |
1399496.929999941 ns/iter |
1.00 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1835113.044736964 ns/iter |
1928852.5594591904 ns/iter |
0.95 |
Pointer_Position_Tracker_Get_Deeply_Nested |
632.0235056610491 ns/iter |
648.879062487888 ns/iter |
0.97 |
Schema_Frame_WoT_References |
5170005.507353307 ns/iter |
5220326.395522758 ns/iter |
0.99 |
Schema_Frame_OMC_References |
22552082.84374888 ns/iter |
21273153.54545262 ns/iter |
1.06 |
Schema_Frame_OMC_Locations |
20987446.882352687 ns/iter |
19597755.666669376 ns/iter |
1.07 |
Schema_Frame_ISO_Language_Locations |
104562238.50000393 ns/iter |
97750890.49999982 ns/iter |
1.07 |
Schema_Frame_KrakenD_References |
42549799.6874995 ns/iter |
38146549.66666669 ns/iter |
1.12 |
Schema_Frame_KrakenD_Reachable |
597281230.0001351 ns/iter |
556363896.999983 ns/iter |
1.07 |
Schema_Iterator_ISO_Language |
2975425.9188033426 ns/iter |
3044367.465217775 ns/iter |
0.98 |
Schema_Frame_ISO_Language_Locations_To_JSON |
114119608.399983 ns/iter |
111843108.19999154 ns/iter |
1.02 |
Schema_Tracker_ISO_Language |
5215155.045112296 ns/iter |
5005858.45000046 ns/iter |
1.04 |
Schema_Tracker_ISO_Language_To_JSON |
19906819.42857009 ns/iter |
19183428.388888363 ns/iter |
1.04 |
Schema_Format_ISO_Language_To_JSON |
112307374.33330281 ns/iter |
104660361.14287038 ns/iter |
1.07 |
Schema_Bundle_Meta_2020_12 |
1672799.0959221465 ns/iter |
1714355.3398520013 ns/iter |
0.98 |
Schema_Frame_Many_Resources_References |
382448936.4999977 ns/iter |
374473994.50002193 ns/iter |
1.02 |
EditorSchema_ForEditor_EmbeddedResources |
13939562.306126278 ns/iter |
14016013.140001178 ns/iter |
0.99 |
URITemplateRouter_Create |
19549.265423045137 ns/iter |
19256.689280026385 ns/iter |
1.02 |
URITemplateRouter_Match |
175.78302899118526 ns/iter |
172.55174120689816 ns/iter |
1.02 |
URITemplateRouter_Match_BasePath |
202.9621949536599 ns/iter |
198.9413457410445 ns/iter |
1.02 |
URITemplateRouterView_Restore |
5141.126641063291 ns/iter |
5226.927548913542 ns/iter |
0.98 |
URITemplateRouterView_Match |
142.40988475268495 ns/iter |
147.58470544380927 ns/iter |
0.96 |
URITemplateRouterView_Match_BasePath |
162.29287216238305 ns/iter |
166.68141050508393 ns/iter |
0.97 |
URITemplateRouterView_Arguments |
426.62489137140574 ns/iter |
469.54055593760364 ns/iter |
0.91 |
JSONL_Parse_Large |
10924368.421875386 ns/iter |
11527197.409836695 ns/iter |
0.95 |
JSONL_Parse_Large_GZIP |
12151259.034481129 ns/iter |
12332861.157895485 ns/iter |
0.99 |
HTML_Build_Table_100000 |
63658663.54545605 ns/iter |
74977403.8181799 ns/iter |
0.85 |
HTML_Render_Table_100000 |
5273034.507462765 ns/iter |
5746096.661017279 ns/iter |
0.92 |
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: 297dcf2 | Previous: b267bc8 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
8.819901785714583 ns/iter |
7.511570312500128 ns/iter |
1.17 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
8.892870535713065 ns/iter |
7.512944196427387 ns/iter |
1.18 |
Regex_Period_Asterisk |
8.815619157073531 ns/iter |
7.536310267859391 ns/iter |
1.17 |
Regex_Group_Period_Asterisk_Group |
8.8301303177237 ns/iter |
7.499930803570112 ns/iter |
1.18 |
Regex_Period_Plus |
11.28642499999799 ns/iter |
9.673628125000278 ns/iter |
1.17 |
Regex_Period |
11.283462499999786 ns/iter |
9.67316245681561 ns/iter |
1.17 |
Regex_Caret_Period_Plus_Dollar |
11.281842857142367 ns/iter |
9.6814981710656 ns/iter |
1.17 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
11.272889062500013 ns/iter |
9.67325218895921 ns/iter |
1.17 |
Regex_Caret_Period_Asterisk_Dollar |
8.82151737133142 ns/iter |
7.5131060267860255 ns/iter |
1.17 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
8.820957549905849 ns/iter |
7.562369642857091 ns/iter |
1.17 |
Regex_Caret_X_Hyphen |
13.873005741637634 ns/iter |
11.959892187498156 ns/iter |
1.16 |
Regex_Period_Md_Dollar |
40.619893401161626 ns/iter |
38.47972876018097 ns/iter |
1.06 |
Regex_Caret_Slash_Period_Asterisk |
13.05166132566393 ns/iter |
11.44289285714503 ns/iter |
1.14 |
Regex_Caret_Period_Range_Dollar |
11.27994531249854 ns/iter |
9.717484374998975 ns/iter |
1.16 |
Regex_Nested_Backtrack |
50.68158999999923 ns/iter |
48.72572355764809 ns/iter |
1.04 |
JSON_Array_Of_Objects_Unique |
526.0317999998279 ns/iter |
513.5225999999875 ns/iter |
1.02 |
JSON_Parse_1 |
7539.176339285295 ns/iter |
7979.571428570356 ns/iter |
0.94 |
JSON_Parse_Real |
13801.114285716461 ns/iter |
15070.631696428702 ns/iter |
0.92 |
JSON_Parse_Decimal |
16756.89461207456 ns/iter |
16504.26007317424 ns/iter |
1.02 |
JSON_Parse_Schema_ISO_Language |
6630858.928571926 ns/iter |
5920723.214286129 ns/iter |
1.12 |
JSON_Fast_Hash_Helm_Chart_Lock |
75.37275669642035 ns/iter |
71.97669642857412 ns/iter |
1.05 |
JSON_Equality_Helm_Chart_Lock |
267.99314642936866 ns/iter |
258.39303571428576 ns/iter |
1.04 |
JSON_Divisible_By_Decimal |
266.9086257547707 ns/iter |
255.26878571424407 ns/iter |
1.05 |
JSON_String_Equal/10 |
11.37324843750065 ns/iter |
12.58727499999931 ns/iter |
0.90 |
JSON_String_Equal/100 |
13.149042128800964 ns/iter |
13.601693912489022 ns/iter |
0.97 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.7761125015858983 ns/iter |
2.2053318750003825 ns/iter |
0.81 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
12.090767857143549 ns/iter |
12.891978571429622 ns/iter |
0.94 |
JSON_String_Fast_Hash/10 |
4.272610766558424 ns/iter |
4.11256526602123 ns/iter |
1.04 |
JSON_String_Fast_Hash/100 |
4.3728381794032325 ns/iter |
4.227051895434563 ns/iter |
1.03 |
JSON_String_Key_Hash/10 |
3.953824776784996 ns/iter |
4.091838801950525 ns/iter |
0.97 |
JSON_String_Key_Hash/100 |
17.398751941055774 ns/iter |
14.400127232145266 ns/iter |
1.21 |
JSON_Object_Defines_Miss_Same_Length |
3.8841188616066193 ns/iter |
3.9028339216019776 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.9858829981888677 ns/iter |
3.7772742789689917 ns/iter |
1.06 |
JSON_Object_Defines_Miss_Too_Large |
3.9580351409974455 ns/iter |
3.778015171825438 ns/iter |
1.05 |
Pointer_Object_Traverse |
43.35978124998974 ns/iter |
40.6592184016893 ns/iter |
1.07 |
Pointer_Object_Try_Traverse |
53.3793100000139 ns/iter |
52.282320000017535 ns/iter |
1.02 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
164.8116741071602 ns/iter |
170.28197568853872 ns/iter |
0.97 |
Pointer_Walker_Schema_ISO_Language |
12489787.499999596 ns/iter |
11265014.062502133 ns/iter |
1.11 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2031508.9285710591 ns/iter |
1967561.250000216 ns/iter |
1.03 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3051759.374999717 ns/iter |
3156268.62745117 ns/iter |
0.97 |
Pointer_Position_Tracker_Get_Deeply_Nested |
684.7988460718796 ns/iter |
615.5276785713783 ns/iter |
1.11 |
Schema_Frame_WoT_References |
10097305.333332164 ns/iter |
10027777.333334597 ns/iter |
1.01 |
Schema_Frame_OMC_References |
44347199.99999288 ns/iter |
42810418.75000824 ns/iter |
1.04 |
Schema_Frame_OMC_Locations |
40858541.17646276 ns/iter |
39978111.76470671 ns/iter |
1.02 |
Schema_Frame_ISO_Language_Locations |
199897274.99995524 ns/iter |
190838374.99999845 ns/iter |
1.05 |
Schema_Frame_KrakenD_References |
90658414.2856965 ns/iter |
87698257.14284706 ns/iter |
1.03 |
Schema_Frame_KrakenD_Reachable |
520395399.9998703 ns/iter |
501807299.99988216 ns/iter |
1.04 |
Schema_Iterator_ISO_Language |
6655322.222223327 ns/iter |
6212267.8571431115 ns/iter |
1.07 |
Schema_Frame_ISO_Language_Locations_To_JSON |
306990149.99993324 ns/iter |
294359450.0000017 ns/iter |
1.04 |
Schema_Tracker_ISO_Language |
16667280.000001483 ns/iter |
16094893.999998022 ns/iter |
1.04 |
Schema_Tracker_ISO_Language_To_JSON |
51496980.00000171 ns/iter |
51357070.0000173 ns/iter |
1.00 |
Schema_Format_ISO_Language_To_JSON |
203085049.99991328 ns/iter |
190603250.0000947 ns/iter |
1.07 |
Schema_Bundle_Meta_2020_12 |
2881242.796610291 ns/iter |
2892589.7727233544 ns/iter |
1.00 |
Schema_Frame_Many_Resources_References |
1485442199.9998522 ns/iter |
1483886900.000016 ns/iter |
1.00 |
EditorSchema_ForEditor_EmbeddedResources |
29846388.000005387 ns/iter |
28902616.666679632 ns/iter |
1.03 |
URITemplateRouter_Create |
22454.749999994303 ns/iter |
24033.689356146275 ns/iter |
0.93 |
URITemplateRouter_Match |
218.75307951995012 ns/iter |
210.96887500000602 ns/iter |
1.04 |
URITemplateRouter_Match_BasePath |
263.8728354407708 ns/iter |
246.03020691624997 ns/iter |
1.07 |
URITemplateRouterView_Restore |
24124.652626642688 ns/iter |
30750.60011026993 ns/iter |
0.78 |
URITemplateRouterView_Match |
150.6920758928792 ns/iter |
149.71823660714685 ns/iter |
1.01 |
URITemplateRouterView_Match_BasePath |
178.74839143405865 ns/iter |
174.05570304069892 ns/iter |
1.03 |
URITemplateRouterView_Arguments |
444.2755439439844 ns/iter |
444.15756250003824 ns/iter |
1.00 |
JSONL_Parse_Large |
27137865.38461486 ns/iter |
28168175.99999922 ns/iter |
0.96 |
JSONL_Parse_Large_GZIP |
27098026.923069414 ns/iter |
27920125.000004448 ns/iter |
0.97 |
HTML_Build_Table_100000 |
91490888.888883 ns/iter |
85781977.77776748 ns/iter |
1.07 |
HTML_Render_Table_100000 |
7781721.111112144 ns/iter |
7563050.000001365 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: 297dcf2 | Previous: b267bc8 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.8367335498848545 ns/iter |
2.1064733673511298 ns/iter |
0.87 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.1920217980050523 ns/iter |
2.573584307157659 ns/iter |
0.85 |
Regex_Period_Asterisk |
2.139777925590182 ns/iter |
2.275896155524025 ns/iter |
0.94 |
Regex_Group_Period_Asterisk_Group |
1.9422805650026618 ns/iter |
2.1573259046650377 ns/iter |
0.90 |
Regex_Period_Plus |
2.7948226531742186 ns/iter |
2.3931283404286354 ns/iter |
1.17 |
Regex_Period |
2.9779710346749413 ns/iter |
2.4619239718165624 ns/iter |
1.21 |
Regex_Caret_Period_Plus_Dollar |
2.478027277453698 ns/iter |
2.289708581238566 ns/iter |
1.08 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.33117779410601 ns/iter |
2.3712722689457877 ns/iter |
0.98 |
Regex_Caret_Period_Asterisk_Dollar |
1.9420391909118968 ns/iter |
2.108286920929669 ns/iter |
0.92 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.9730484672301183 ns/iter |
1.908257415036882 ns/iter |
1.03 |
Regex_Caret_X_Hyphen |
6.296971740546598 ns/iter |
7.574641879933754 ns/iter |
0.83 |
Regex_Period_Md_Dollar |
18.145026643974564 ns/iter |
18.930202690864196 ns/iter |
0.96 |
Regex_Caret_Slash_Period_Asterisk |
8.851954055059288 ns/iter |
8.537098019707255 ns/iter |
1.04 |
Regex_Caret_Period_Range_Dollar |
1.7784667237383347 ns/iter |
2.107491230328049 ns/iter |
0.84 |
Regex_Nested_Backtrack |
31.30965272435002 ns/iter |
29.2415124889442 ns/iter |
1.07 |
JSON_Array_Of_Objects_Unique |
451.303248604811 ns/iter |
392.0386042197828 ns/iter |
1.15 |
JSON_Parse_1 |
5759.7404767672415 ns/iter |
5345.377273170458 ns/iter |
1.08 |
JSON_Parse_Real |
8408.594167584004 ns/iter |
8431.412639405416 ns/iter |
1.00 |
JSON_Parse_Decimal |
11449.685748455702 ns/iter |
10852.64078437089 ns/iter |
1.06 |
JSON_Parse_Schema_ISO_Language |
4377558.048275299 ns/iter |
5502778.97656315 ns/iter |
0.80 |
JSON_Fast_Hash_Helm_Chart_Lock |
76.74579714511194 ns/iter |
72.44972656310503 ns/iter |
1.06 |
JSON_Equality_Helm_Chart_Lock |
180.00477872787218 ns/iter |
187.24982660983912 ns/iter |
0.96 |
JSON_Divisible_By_Decimal |
241.97711615609637 ns/iter |
238.01572920039177 ns/iter |
1.02 |
JSON_String_Equal/10 |
9.3238240315535 ns/iter |
8.962348414163074 ns/iter |
1.04 |
JSON_String_Equal/100 |
9.345083402701396 ns/iter |
7.886066840293871 ns/iter |
1.19 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.0383757529152047 ns/iter |
1.0041625264140364 ns/iter |
1.03 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
4.376406923677636 ns/iter |
4.836167335629423 ns/iter |
0.90 |
JSON_String_Fast_Hash/10 |
3.3323268193858304 ns/iter |
3.3668775335182026 ns/iter |
0.99 |
JSON_String_Fast_Hash/100 |
2.7488847159882766 ns/iter |
2.8364761682355937 ns/iter |
0.97 |
JSON_String_Key_Hash/10 |
1.9254580992447499 ns/iter |
1.8131026433107695 ns/iter |
1.06 |
JSON_String_Key_Hash/100 |
2.8345474056273647 ns/iter |
3.100047453171841 ns/iter |
0.91 |
JSON_Object_Defines_Miss_Same_Length |
3.484281360596858 ns/iter |
2.8173781046085034 ns/iter |
1.24 |
JSON_Object_Defines_Miss_Too_Small |
3.663512104574783 ns/iter |
2.7804185286274627 ns/iter |
1.32 |
JSON_Object_Defines_Miss_Too_Large |
4.101142324140959 ns/iter |
2.8908275531765204 ns/iter |
1.42 |
Pointer_Object_Traverse |
29.578303925226365 ns/iter |
19.738582547610594 ns/iter |
1.50 |
Pointer_Object_Try_Traverse |
29.184724685421887 ns/iter |
23.479819929166982 ns/iter |
1.24 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
257.35531519895403 ns/iter |
202.07150908848956 ns/iter |
1.27 |
Pointer_Walker_Schema_ISO_Language |
6952454.724408048 ns/iter |
5624353.494624145 ns/iter |
1.24 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2245791.6656533857 ns/iter |
1374018.4404256032 ns/iter |
1.63 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
2505484.191489607 ns/iter |
1951446.7889182153 ns/iter |
1.28 |
Pointer_Position_Tracker_Get_Deeply_Nested |
505.26341795970313 ns/iter |
499.4473911402963 ns/iter |
1.01 |
Schema_Frame_WoT_References |
7605921.095744711 ns/iter |
8123466.049381832 ns/iter |
0.94 |
Schema_Frame_OMC_References |
48522847.22222874 ns/iter |
44510216.18750417 ns/iter |
1.09 |
Schema_Frame_OMC_Locations |
34702172.94999429 ns/iter |
36652317.99999746 ns/iter |
0.95 |
Schema_Frame_ISO_Language_Locations |
127674758.4000077 ns/iter |
108404541.57141721 ns/iter |
1.18 |
Schema_Frame_KrakenD_References |
64437322.87499415 ns/iter |
60774697.91666582 ns/iter |
1.06 |
Schema_Frame_KrakenD_Reachable |
669549875.9997917 ns/iter |
826559373.9999986 ns/iter |
0.81 |
Schema_Iterator_ISO_Language |
3529899.0722228354 ns/iter |
3979747.343137495 ns/iter |
0.89 |
Schema_Frame_ISO_Language_Locations_To_JSON |
113388399.99998526 ns/iter |
116172091.79999009 ns/iter |
0.98 |
Schema_Tracker_ISO_Language |
14515245.689655535 ns/iter |
12743310.84000096 ns/iter |
1.14 |
Schema_Tracker_ISO_Language_To_JSON |
19354347.97297062 ns/iter |
20139510.714284368 ns/iter |
0.96 |
Schema_Format_ISO_Language_To_JSON |
146763416.79996768 ns/iter |
100099577.28569977 ns/iter |
1.47 |
Schema_Bundle_Meta_2020_12 |
2265957.6566691916 ns/iter |
1973181.5508682118 ns/iter |
1.15 |
Schema_Frame_Many_Resources_References |
525567874.99997884 ns/iter |
547430875.0000318 ns/iter |
0.96 |
EditorSchema_ForEditor_EmbeddedResources |
17539649.68179389 ns/iter |
15335374.066664068 ns/iter |
1.14 |
URITemplateRouter_Create |
19241.543154498773 ns/iter |
23274.15371796954 ns/iter |
0.83 |
URITemplateRouter_Match |
228.01719103452453 ns/iter |
219.56052812888265 ns/iter |
1.04 |
URITemplateRouter_Match_BasePath |
239.72913388746608 ns/iter |
240.29165593148386 ns/iter |
1.00 |
URITemplateRouterView_Restore |
22566.5552203101 ns/iter |
20018.111687580735 ns/iter |
1.13 |
URITemplateRouterView_Match |
151.6190263262533 ns/iter |
166.89923867163026 ns/iter |
0.91 |
URITemplateRouterView_Match_BasePath |
198.2432643707253 ns/iter |
196.40099344313793 ns/iter |
1.01 |
URITemplateRouterView_Arguments |
510.73747121526173 ns/iter |
503.2270829999561 ns/iter |
1.01 |
JSONL_Parse_Large |
16938521.34146099 ns/iter |
15968247.159091478 ns/iter |
1.06 |
JSONL_Parse_Large_GZIP |
21007626.312503193 ns/iter |
18376416.68292668 ns/iter |
1.14 |
HTML_Build_Table_100000 |
83456666.57143219 ns/iter |
88463770.8749949 ns/iter |
0.94 |
HTML_Render_Table_100000 |
5989970.479168013 ns/iter |
5281909.020409005 ns/iter |
1.13 |
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: 297dcf2 | Previous: b267bc8 | Ratio |
|---|---|---|---|
HTML_Build_Table_100000 |
71727328.69998981 ns/iter |
71724827.00000273 ns/iter |
1.00 |
HTML_Render_Table_100000 |
5026412.489208355 ns/iter |
4916252.00694538 ns/iter |
1.02 |
JSONL_Parse_Large |
12626449.49090579 ns/iter |
12664177.563638903 ns/iter |
1.00 |
JSONL_Parse_Large_GZIP |
13746786.686276799 ns/iter |
13764877.880003043 ns/iter |
1.00 |
URITemplateRouter_Create |
17213.87534639421 ns/iter |
17360.334820544675 ns/iter |
0.99 |
URITemplateRouter_Match |
169.85680345279772 ns/iter |
170.14093738816314 ns/iter |
1.00 |
URITemplateRouter_Match_BasePath |
195.1126529501874 ns/iter |
195.49534723471095 ns/iter |
1.00 |
URITemplateRouterView_Restore |
6355.730645087528 ns/iter |
6655.2962139104675 ns/iter |
0.95 |
URITemplateRouterView_Match |
131.28507077641203 ns/iter |
130.16919434315574 ns/iter |
1.01 |
URITemplateRouterView_Match_BasePath |
146.24473623695985 ns/iter |
145.77034000146205 ns/iter |
1.00 |
URITemplateRouterView_Arguments |
518.9319112934066 ns/iter |
472.8223801028865 ns/iter |
1.10 |
EditorSchema_ForEditor_EmbeddedResources |
14154987.877553103 ns/iter |
14060086.94002594 ns/iter |
1.01 |
Schema_Frame_WoT_References |
5483120.195313162 ns/iter |
5537622.412699449 ns/iter |
0.99 |
Schema_Frame_OMC_References |
23587165.433332305 ns/iter |
22663823.741932873 ns/iter |
1.04 |
Schema_Frame_OMC_Locations |
21607354.483876403 ns/iter |
21091472.03030013 ns/iter |
1.02 |
Schema_Frame_ISO_Language_Locations |
104442181.99999493 ns/iter |
102549215.49998623 ns/iter |
1.02 |
Schema_Frame_KrakenD_References |
43417404.81250156 ns/iter |
41753746.470583476 ns/iter |
1.04 |
Schema_Frame_KrakenD_Reachable |
594299236.9998592 ns/iter |
567236985.9998981 ns/iter |
1.05 |
Schema_Iterator_ISO_Language |
3211541.0958909313 ns/iter |
3220936.1658981494 ns/iter |
1.00 |
Schema_Frame_ISO_Language_Locations_To_JSON |
231040153.66660252 ns/iter |
219854049.6666131 ns/iter |
1.05 |
Schema_Tracker_ISO_Language |
4765285.217686419 ns/iter |
4728794.371621424 ns/iter |
1.01 |
Schema_Tracker_ISO_Language_To_JSON |
22513709.483871114 ns/iter |
22147559.87096572 ns/iter |
1.02 |
Schema_Format_ISO_Language_To_JSON |
113112637.50000459 ns/iter |
108315087.6666726 ns/iter |
1.04 |
Schema_Bundle_Meta_2020_12 |
1809672.4453017158 ns/iter |
1775343.784260752 ns/iter |
1.02 |
Schema_Frame_Many_Resources_References |
385191190.0000005 ns/iter |
384863075.4999931 ns/iter |
1.00 |
Pointer_Object_Traverse |
31.263001441809834 ns/iter |
32.39942829556317 ns/iter |
0.96 |
Pointer_Object_Try_Traverse |
22.079706789875342 ns/iter |
21.991469431581827 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
133.46043677230898 ns/iter |
148.73698149650545 ns/iter |
0.90 |
Pointer_Walker_Schema_ISO_Language |
3616152.072165334 ns/iter |
3491377.3546803687 ns/iter |
1.04 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1528521.1742918633 ns/iter |
1527435.1400435367 ns/iter |
1.00 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1727521.7881773992 ns/iter |
1726521.8391092068 ns/iter |
1.00 |
Pointer_Position_Tracker_Get_Deeply_Nested |
543.9083821383184 ns/iter |
437.5791950747086 ns/iter |
1.24 |
JSON_Array_Of_Objects_Unique |
426.7643779811483 ns/iter |
424.49018903279733 ns/iter |
1.01 |
JSON_Parse_1 |
7644.62260431568 ns/iter |
7738.124017206917 ns/iter |
0.99 |
JSON_Parse_Real |
12111.234596993041 ns/iter |
11927.660711854323 ns/iter |
1.02 |
JSON_Parse_Decimal |
16305.08584697738 ns/iter |
16609.421842811462 ns/iter |
0.98 |
JSON_Parse_Schema_ISO_Language |
4651354.4866669085 ns/iter |
4632180.086093816 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
65.40601414145226 ns/iter |
64.72716793435933 ns/iter |
1.01 |
JSON_Equality_Helm_Chart_Lock |
185.17190680398326 ns/iter |
190.64537964125284 ns/iter |
0.97 |
JSON_Divisible_By_Decimal |
231.21883222854737 ns/iter |
232.89318671924974 ns/iter |
0.99 |
JSON_String_Equal/10 |
6.4733537561067545 ns/iter |
7.116837400123193 ns/iter |
0.91 |
JSON_String_Equal/100 |
7.104193371644762 ns/iter |
7.105301685013096 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7121357199765856 ns/iter |
0.7142124226346965 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
21.93935011072579 ns/iter |
21.944682223696933 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
1.055238009775654 ns/iter |
1.0563788679538775 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
1.0554393253000645 ns/iter |
1.0559607356576195 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
1.087064583926592 ns/iter |
1.1171687337269411 ns/iter |
0.97 |
JSON_String_Key_Hash/100 |
14.758019895646884 ns/iter |
14.759044068988374 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.5172721018224116 ns/iter |
3.5183882450469546 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.5209298407233995 ns/iter |
3.518140524198568 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.5189490034895843 ns/iter |
3.53488351176944 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
1.0614673447825336 ns/iter |
1.0552515350802 ns/iter |
1.01 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
0.7037620272806854 ns/iter |
0.7044194538202946 ns/iter |
1.00 |
Regex_Period_Asterisk |
0.704501282916036 ns/iter |
0.7040397506861718 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
1.1076691285175913 ns/iter |
1.0564216120674759 ns/iter |
1.05 |
Regex_Period_Plus |
1.0548247526531547 ns/iter |
1.0560917935682146 ns/iter |
1.00 |
Regex_Period |
0.7057135869976053 ns/iter |
0.7040577625824753 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
0.7052645120422829 ns/iter |
0.705336785357683 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
1.0554123441529841 ns/iter |
1.0554065113139837 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
1.0550172884566749 ns/iter |
1.0582374996992856 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
0.7034968464318927 ns/iter |
0.7043069690442321 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
3.8676470809298964 ns/iter |
3.8674100565014107 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
35.88688247496476 ns/iter |
35.46232734564822 ns/iter |
1.01 |
Regex_Caret_Slash_Period_Asterisk |
4.221834132244534 ns/iter |
4.218059611660524 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
0.8391848360281766 ns/iter |
0.8415656960410357 ns/iter |
1.00 |
Regex_Nested_Backtrack |
59.484371074958844 ns/iter |
41.44225454476732 ns/iter |
1.44 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com