Conversation
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
🤖 Augment PR SummarySummary: This PR upgrades URI query handling by introducing a structured, zero-copy query view and updating the public API to expose it. Changes:
Technical Notes: 🤖 Was this summary useful? React with 👍 or 👎 |
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
There was a problem hiding this comment.
1 issue found across 7 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="src/core/uri/query.cc">
<violation number="1" location="src/core/uri/query.cc:47">
P1: Returning a reference to an internal iterator member can cause dangling references (e.g., on `*it++`) and breaks standard forward iterator semantics. Consider returning by value and updating the iterator category to `std::input_iterator_tag` in the header.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 9bb4aa1 | Previous: 45a8ba7 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
3.1125334727067386 ns/iter |
2.0194790836311793 ns/iter |
1.54 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.111333699611573 ns/iter |
2.0179692078165608 ns/iter |
1.54 |
Regex_Period_Asterisk |
3.110111335590759 ns/iter |
2.0176073628265585 ns/iter |
1.54 |
Regex_Group_Period_Asterisk_Group |
3.106796346260538 ns/iter |
2.025021509167517 ns/iter |
1.53 |
Regex_Period_Plus |
3.1028074174338385 ns/iter |
2.3050427674260274 ns/iter |
1.35 |
Regex_Period |
2.9398523747284306 ns/iter |
2.304262097638293 ns/iter |
1.28 |
Regex_Caret_Period_Plus_Dollar |
3.09958180909228 ns/iter |
2.3045309545259913 ns/iter |
1.34 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.102096299707986 ns/iter |
2.3099642047841433 ns/iter |
1.34 |
Regex_Caret_Period_Asterisk_Dollar |
3.4799914723084315 ns/iter |
2.0178658115149166 ns/iter |
1.72 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.4247844701196373 ns/iter |
2.024634998097668 ns/iter |
1.69 |
Regex_Caret_X_Hyphen |
12.45460613620147 ns/iter |
8.657251430462427 ns/iter |
1.44 |
Regex_Period_Md_Dollar |
28.922256187137435 ns/iter |
25.033251344358703 ns/iter |
1.16 |
Regex_Caret_Slash_Period_Asterisk |
6.242417456963809 ns/iter |
8.31973445598763 ns/iter |
0.75 |
Regex_Caret_Period_Range_Dollar |
4.046698650053378 ns/iter |
2.503746723115027 ns/iter |
1.62 |
Regex_Nested_Backtrack |
50.11083838002493 ns/iter |
44.02491644318813 ns/iter |
1.14 |
JSON_Array_Of_Objects_Unique |
420.7270242793227 ns/iter |
344.91819501436765 ns/iter |
1.22 |
JSON_Parse_1 |
5976.483672531862 ns/iter |
5187.58762855779 ns/iter |
1.15 |
JSON_Parse_Real |
10805.636443621066 ns/iter |
10216.94509723864 ns/iter |
1.06 |
JSON_Parse_Decimal |
11762.523665810477 ns/iter |
10127.583184827456 ns/iter |
1.16 |
JSON_Parse_Schema_ISO_Language |
3669460.884816426 ns/iter |
3415823.4679805483 ns/iter |
1.07 |
JSON_Fast_Hash_Helm_Chart_Lock |
60.40320494484391 ns/iter |
49.848046726972015 ns/iter |
1.21 |
JSON_Equality_Helm_Chart_Lock |
154.63090224864771 ns/iter |
124.3865060237428 ns/iter |
1.24 |
JSON_Divisible_By_Decimal |
258.3999403537944 ns/iter |
248.2268016221794 ns/iter |
1.04 |
JSON_String_Equal/10 |
5.921258729326937 ns/iter |
4.3229465423800395 ns/iter |
1.37 |
JSON_String_Equal/100 |
6.545407263303965 ns/iter |
5.477385414042954 ns/iter |
1.19 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9369744725508831 ns/iter |
0.6923139066815922 ns/iter |
1.35 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
14.751982336932498 ns/iter |
9.799335795840083 ns/iter |
1.51 |
JSON_String_Fast_Hash/10 |
2.8036464405860095 ns/iter |
2.3092639068717338 ns/iter |
1.21 |
JSON_String_Fast_Hash/100 |
2.8039505393136044 ns/iter |
2.304731004245581 ns/iter |
1.22 |
JSON_String_Key_Hash/10 |
2.706129723993359 ns/iter |
1.7372250034161196 ns/iter |
1.56 |
JSON_String_Key_Hash/100 |
9.26297978703794 ns/iter |
7.201517699126663 ns/iter |
1.29 |
JSON_Object_Defines_Miss_Same_Length |
3.7405444690801173 ns/iter |
3.4119625673914076 ns/iter |
1.10 |
JSON_Object_Defines_Miss_Too_Small |
3.7532870108961447 ns/iter |
3.6179345721630938 ns/iter |
1.04 |
JSON_Object_Defines_Miss_Too_Large |
3.7411425745134403 ns/iter |
3.4179921473040475 ns/iter |
1.09 |
Pointer_Object_Traverse |
25.052513050756417 ns/iter |
24.279211117229586 ns/iter |
1.03 |
Pointer_Object_Try_Traverse |
28.351346478718696 ns/iter |
28.51995664091122 ns/iter |
0.99 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
220.71066226998448 ns/iter |
165.46946848313223 ns/iter |
1.33 |
Pointer_Walker_Schema_ISO_Language |
3103691.358406867 ns/iter |
3048687.160173075 ns/iter |
1.02 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1410235.6383837748 ns/iter |
1193605.4324785364 ns/iter |
1.18 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1796823.1435897672 ns/iter |
2042502.6491711228 ns/iter |
0.88 |
Pointer_Position_Tracker_Get_Deeply_Nested |
600.1704038224548 ns/iter |
738.7193700376592 ns/iter |
0.81 |
Schema_Frame_WoT_References |
5255249.93939412 ns/iter |
4637210 ns/iter |
1.13 |
Schema_Frame_OMC_References |
23380857.387095485 ns/iter |
19814438.30555602 ns/iter |
1.18 |
Schema_Frame_OMC_Locations |
20637049.73529505 ns/iter |
18148618.820512243 ns/iter |
1.14 |
Schema_Frame_ISO_Language_Locations |
104978831.83332609 ns/iter |
93437370.42857875 ns/iter |
1.12 |
Schema_Frame_KrakenD_References |
43594818.750001706 ns/iter |
39181522.88888955 ns/iter |
1.11 |
Schema_Frame_KrakenD_Reachable |
615338993.000023 ns/iter |
785209454.999972 ns/iter |
0.78 |
Schema_Iterator_ISO_Language |
3046835.41125514 ns/iter |
2760178.8267716756 ns/iter |
1.10 |
Schema_Frame_ISO_Language_Locations_To_JSON |
109785216.1999981 ns/iter |
117069693.00000766 ns/iter |
0.94 |
Schema_Tracker_ISO_Language |
5051448.309352786 ns/iter |
4806375.296551589 ns/iter |
1.05 |
Schema_Tracker_ISO_Language_To_JSON |
19629325.857142378 ns/iter |
20304337.599999856 ns/iter |
0.97 |
Schema_Format_ISO_Language_To_JSON |
112716027.16666014 ns/iter |
100769348.14284348 ns/iter |
1.12 |
Schema_Bundle_Meta_2020_12 |
1702919.9099748118 ns/iter |
1542632.6880529346 ns/iter |
1.10 |
Schema_Frame_Many_Resources_References |
388745269.9999585 ns/iter |
368030762.49998415 ns/iter |
1.06 |
EditorSchema_ForEditor_EmbeddedResources |
14077861.079999821 ns/iter |
12341376.894736193 ns/iter |
1.14 |
URITemplateRouter_Create |
20091.682181921286 ns/iter |
16113.00493155879 ns/iter |
1.25 |
URITemplateRouter_Match |
172.9810724766435 ns/iter |
140.08301434437755 ns/iter |
1.23 |
URITemplateRouter_Match_BasePath |
199.1378166717423 ns/iter |
159.5839405691207 ns/iter |
1.25 |
URITemplateRouterView_Restore |
5155.203583061794 ns/iter |
2535.8548160508294 ns/iter |
2.03 |
URITemplateRouterView_Match |
157.64724211460273 ns/iter |
140.26534454912715 ns/iter |
1.12 |
URITemplateRouterView_Match_BasePath |
179.0574264774082 ns/iter |
158.14250277476813 ns/iter |
1.13 |
URITemplateRouterView_Arguments |
476.072338536292 ns/iter |
424.08675971997985 ns/iter |
1.12 |
JSONL_Parse_Large |
10815236.218750358 ns/iter |
9607888.410958005 ns/iter |
1.13 |
JSONL_Parse_Large_GZIP |
12040567.706896095 ns/iter |
10829727.01538333 ns/iter |
1.11 |
HTML_Build_Table_100000 |
64680634.81818056 ns/iter |
74088373.55555736 ns/iter |
0.87 |
HTML_Render_Table_100000 |
5474148.640624677 ns/iter |
10532138.235293707 ns/iter |
0.52 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="src/core/uri/include/sourcemeta/core/uri.h">
<violation number="1" location="src/core/uri/include/sourcemeta/core/uri.h:395">
P2: Use `#pragma warning(push/pop)` instead of `warning(default: 4251)` in this header to avoid leaking warning-state changes to includers.</violation>
</file>
Tip: Review your code locally with the cubic CLI to iterate faster.
| std::size_t pair_start_{std::string_view::npos}; | ||
| value_type current_{}; | ||
| #if defined(_MSC_VER) | ||
| #pragma warning(default : 4251) |
There was a problem hiding this comment.
P2: Use #pragma warning(push/pop) instead of warning(default: 4251) in this header to avoid leaking warning-state changes to includers.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/core/uri/include/sourcemeta/core/uri.h, line 395:
<comment>Use `#pragma warning(push/pop)` instead of `warning(default: 4251)` in this header to avoid leaking warning-state changes to includers.</comment>
<file context>
@@ -385,9 +385,15 @@ class SOURCEMETA_CORE_URI_EXPORT URI {
std::size_t pair_start_{std::string_view::npos};
value_type current_{};
+#if defined(_MSC_VER)
+#pragma warning(default : 4251)
+#endif
};
</file context>
Tip: Review your code locally with the cubic CLI to iterate faster.
There was a problem hiding this comment.
Benchmark (windows/msvc)
Details
| Benchmark suite | Current: 9bb4aa1 | Previous: 45a8ba7 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
3.099193750000292 ns/iter |
4.090967105519034 ns/iter |
0.76 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.495256868757913 ns/iter |
4.711911840874758 ns/iter |
0.74 |
Regex_Period_Asterisk |
3.3307626614536368 ns/iter |
4.151991659200414 ns/iter |
0.80 |
Regex_Group_Period_Asterisk_Group |
3.234468286303504 ns/iter |
4.711408939087897 ns/iter |
0.69 |
Regex_Period_Plus |
2.638824618179483 ns/iter |
3.7726087432636715 ns/iter |
0.70 |
Regex_Period |
2.6488789038849463 ns/iter |
3.7698360432168903 ns/iter |
0.70 |
Regex_Caret_Period_Plus_Dollar |
2.970114909388073 ns/iter |
4.408081249999896 ns/iter |
0.67 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.9485048174793014 ns/iter |
4.4046449999996184 ns/iter |
0.67 |
Regex_Caret_Period_Asterisk_Dollar |
3.222862499999987 ns/iter |
4.734636228735168 ns/iter |
0.68 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.2184808035710586 ns/iter |
4.851801697511373 ns/iter |
0.66 |
Regex_Caret_X_Hyphen |
6.4830187499995064 ns/iter |
7.879597098214524 ns/iter |
0.82 |
Regex_Period_Md_Dollar |
30.46695851175976 ns/iter |
35.6017870383921 ns/iter |
0.86 |
Regex_Caret_Slash_Period_Asterisk |
6.456074107142789 ns/iter |
7.987073660716351 ns/iter |
0.81 |
Regex_Caret_Period_Range_Dollar |
3.698620707682126 ns/iter |
4.740848448082537 ns/iter |
0.78 |
Regex_Nested_Backtrack |
90.65927455357122 ns/iter |
95.66745108629655 ns/iter |
0.95 |
JSON_Array_Of_Objects_Unique |
393.3213169642664 ns/iter |
494.5819184334803 ns/iter |
0.80 |
JSON_Parse_1 |
7864.760044642744 ns/iter |
8102.502232143799 ns/iter |
0.97 |
JSON_Parse_Real |
14494.459821428052 ns/iter |
16466.044638689644 ns/iter |
0.88 |
JSON_Parse_Decimal |
15175.493303572248 ns/iter |
16015.705357140016 ns/iter |
0.95 |
JSON_Parse_Schema_ISO_Language |
6963428.888889212 ns/iter |
5734969.999998611 ns/iter |
1.21 |
JSON_Fast_Hash_Helm_Chart_Lock |
50.698590000001786 ns/iter |
65.86031249999077 ns/iter |
0.77 |
JSON_Equality_Helm_Chart_Lock |
233.8825855042084 ns/iter |
248.0412499999472 ns/iter |
0.94 |
JSON_Divisible_By_Decimal |
274.4849341287648 ns/iter |
248.50332142851323 ns/iter |
1.10 |
JSON_String_Equal/10 |
9.479393261253005 ns/iter |
12.306119642857995 ns/iter |
0.77 |
JSON_String_Equal/100 |
11.457862500001122 ns/iter |
12.922637500001397 ns/iter |
0.89 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.4631790172037256 ns/iter |
1.8915546445466236 ns/iter |
0.77 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
9.952700848427662 ns/iter |
12.93973571428556 ns/iter |
0.77 |
JSON_String_Fast_Hash/10 |
2.679205689572376 ns/iter |
3.8603737431055904 ns/iter |
0.69 |
JSON_String_Fast_Hash/100 |
2.6480342857147274 ns/iter |
3.763375171851026 ns/iter |
0.70 |
JSON_String_Key_Hash/10 |
2.6980601315200667 ns/iter |
3.788828028948971 ns/iter |
0.71 |
JSON_String_Key_Hash/100 |
13.813338554406885 ns/iter |
14.415251721357846 ns/iter |
0.96 |
JSON_Object_Defines_Miss_Same_Length |
4.086652730511799 ns/iter |
3.773674278974765 ns/iter |
1.08 |
JSON_Object_Defines_Miss_Too_Small |
3.541854636533112 ns/iter |
3.8628160645305165 ns/iter |
0.92 |
JSON_Object_Defines_Miss_Too_Large |
3.647706568199561 ns/iter |
3.7795156249994677 ns/iter |
0.97 |
Pointer_Object_Traverse |
36.82235287841845 ns/iter |
40.334708384645246 ns/iter |
0.91 |
Pointer_Object_Try_Traverse |
47.48521311350564 ns/iter |
49.085849448087544 ns/iter |
0.97 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
175.77262114546494 ns/iter |
151.77734375002265 ns/iter |
1.16 |
Pointer_Walker_Schema_ISO_Language |
12894633.92857166 ns/iter |
11262345.312498923 ns/iter |
1.14 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2204485.1405628226 ns/iter |
2092861.2040131877 ns/iter |
1.05 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3973549.7206704025 ns/iter |
3038663.8392850985 ns/iter |
1.31 |
Pointer_Position_Tracker_Get_Deeply_Nested |
549.6233970336264 ns/iter |
612.4539062500085 ns/iter |
0.90 |
Schema_Frame_WoT_References |
9929605.333333408 ns/iter |
9987773.437497793 ns/iter |
0.99 |
Schema_Frame_OMC_References |
43376900.00000597 ns/iter |
42428258.82352009 ns/iter |
1.02 |
Schema_Frame_OMC_Locations |
39665210.5263169 ns/iter |
39454017.64706409 ns/iter |
1.01 |
Schema_Frame_ISO_Language_Locations |
186176149.9999943 ns/iter |
189048375.00002715 ns/iter |
0.98 |
Schema_Frame_KrakenD_References |
84639728.57144395 ns/iter |
87881614.28570415 ns/iter |
0.96 |
Schema_Frame_KrakenD_Reachable |
640425400.0001402 ns/iter |
521385100.00008863 ns/iter |
1.23 |
Schema_Iterator_ISO_Language |
6804494.444445986 ns/iter |
6491573.214284634 ns/iter |
1.05 |
Schema_Frame_ISO_Language_Locations_To_JSON |
290462300.00005835 ns/iter |
293350650.0000931 ns/iter |
0.99 |
Schema_Tracker_ISO_Language |
18362543.243244078 ns/iter |
16715959.459459653 ns/iter |
1.10 |
Schema_Tracker_ISO_Language_To_JSON |
51078509.0909022 ns/iter |
49759990.00000684 ns/iter |
1.03 |
Schema_Format_ISO_Language_To_JSON |
186404533.3332645 ns/iter |
196320433.3333124 ns/iter |
0.95 |
Schema_Bundle_Meta_2020_12 |
2811213.6546212016 ns/iter |
2907880.0847464586 ns/iter |
0.97 |
Schema_Frame_Many_Resources_References |
1408854399.999882 ns/iter |
1507930800.0001674 ns/iter |
0.93 |
EditorSchema_ForEditor_EmbeddedResources |
26771917.85715292 ns/iter |
28311775.000010658 ns/iter |
0.95 |
URITemplateRouter_Create |
22971.300000001804 ns/iter |
25198.898449795666 ns/iter |
0.91 |
URITemplateRouter_Match |
229.21751906051745 ns/iter |
212.79521874994603 ns/iter |
1.08 |
URITemplateRouter_Match_BasePath |
255.88249999998425 ns/iter |
244.7892499999885 ns/iter |
1.05 |
URITemplateRouterView_Restore |
24351.571969065644 ns/iter |
33063.75892856904 ns/iter |
0.74 |
URITemplateRouterView_Match |
163.36491495750028 ns/iter |
168.49177467582768 ns/iter |
0.97 |
URITemplateRouterView_Match_BasePath |
188.56724005064694 ns/iter |
194.47908879278083 ns/iter |
0.97 |
URITemplateRouterView_Arguments |
420.6025035445763 ns/iter |
450.25368519993543 ns/iter |
0.93 |
JSONL_Parse_Large |
27523807.692310028 ns/iter |
28415637.499999017 ns/iter |
0.97 |
JSONL_Parse_Large_GZIP |
27258039.285714272 ns/iter |
28417644.00000102 ns/iter |
0.96 |
HTML_Build_Table_100000 |
95023699.99998856 ns/iter |
86573911.11109467 ns/iter |
1.10 |
HTML_Render_Table_100000 |
12421376.785714041 ns/iter |
7730326.666665456 ns/iter |
1.61 |
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: 9bb4aa1 | Previous: 45a8ba7 | Ratio |
|---|---|---|---|
HTML_Build_Table_100000 |
61931274.63635309 ns/iter |
66913441.09090509 ns/iter |
0.93 |
HTML_Render_Table_100000 |
5408543.374999297 ns/iter |
4837269.551723599 ns/iter |
1.12 |
JSONL_Parse_Large |
12770307.381821444 ns/iter |
12614729.818183564 ns/iter |
1.01 |
JSONL_Parse_Large_GZIP |
13842777.352942457 ns/iter |
13756248.470586155 ns/iter |
1.01 |
URITemplateRouter_Create |
18110.210660486697 ns/iter |
17615.1456516265 ns/iter |
1.03 |
URITemplateRouter_Match |
169.40770508506702 ns/iter |
169.37277149552153 ns/iter |
1.00 |
URITemplateRouter_Match_BasePath |
191.1817853130448 ns/iter |
201.70544870040092 ns/iter |
0.95 |
URITemplateRouterView_Restore |
6673.048277045665 ns/iter |
6772.140889822357 ns/iter |
0.99 |
URITemplateRouterView_Match |
139.48909132946469 ns/iter |
134.09761506229194 ns/iter |
1.04 |
URITemplateRouterView_Match_BasePath |
153.6879591355901 ns/iter |
147.02447422400647 ns/iter |
1.05 |
URITemplateRouterView_Arguments |
459.1879282551457 ns/iter |
471.7874048717393 ns/iter |
0.97 |
EditorSchema_ForEditor_EmbeddedResources |
13850406.274509713 ns/iter |
14024190.419995649 ns/iter |
0.99 |
Schema_Frame_WoT_References |
5356074.409090443 ns/iter |
5418419.746153912 ns/iter |
0.99 |
Schema_Frame_OMC_References |
21780336.781255018 ns/iter |
22389110.8064509 ns/iter |
0.97 |
Schema_Frame_OMC_Locations |
20680552.142857775 ns/iter |
20960397.117646072 ns/iter |
0.99 |
Schema_Frame_ISO_Language_Locations |
104902747.1666856 ns/iter |
102553606.50000966 ns/iter |
1.02 |
Schema_Frame_KrakenD_References |
42193668.29410961 ns/iter |
41346427.35293175 ns/iter |
1.02 |
Schema_Frame_KrakenD_Reachable |
565331205.0001205 ns/iter |
569842866.0000445 ns/iter |
0.99 |
Schema_Iterator_ISO_Language |
3244120.9490733165 ns/iter |
3231371.6301370203 ns/iter |
1.00 |
Schema_Frame_ISO_Language_Locations_To_JSON |
220801232.9999747 ns/iter |
231415957.00000533 ns/iter |
0.95 |
Schema_Tracker_ISO_Language |
4882672.248275663 ns/iter |
4675218.13333254 ns/iter |
1.04 |
Schema_Tracker_ISO_Language_To_JSON |
23306751.23333397 ns/iter |
22448451.903227903 ns/iter |
1.04 |
Schema_Format_ISO_Language_To_JSON |
114383498.83330071 ns/iter |
108763100.99994649 ns/iter |
1.05 |
Schema_Bundle_Meta_2020_12 |
1785928.427118349 ns/iter |
1765181.649877906 ns/iter |
1.01 |
Schema_Frame_Many_Resources_References |
384975520.5000065 ns/iter |
373518602.50009847 ns/iter |
1.03 |
Pointer_Object_Traverse |
24.699391346473064 ns/iter |
27.40503071769927 ns/iter |
0.90 |
Pointer_Object_Try_Traverse |
19.776856294104384 ns/iter |
22.415626967736607 ns/iter |
0.88 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
158.67404126686023 ns/iter |
177.02937369469876 ns/iter |
0.90 |
Pointer_Walker_Schema_ISO_Language |
3477031.6980200843 ns/iter |
3549674.9528790195 ns/iter |
0.98 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1543788.7044446243 ns/iter |
1520957.9039298766 ns/iter |
1.02 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1786003.256997797 ns/iter |
1725903.7857141 ns/iter |
1.03 |
Pointer_Position_Tracker_Get_Deeply_Nested |
481.12838120445133 ns/iter |
446.4350414001053 ns/iter |
1.08 |
JSON_Array_Of_Objects_Unique |
443.59524108412865 ns/iter |
454.8054374233276 ns/iter |
0.98 |
JSON_Parse_1 |
7975.837894042173 ns/iter |
7761.596266186841 ns/iter |
1.03 |
JSON_Parse_Real |
12184.852449575681 ns/iter |
12286.942367848891 ns/iter |
0.99 |
JSON_Parse_Decimal |
17669.24752699436 ns/iter |
16558.131300049157 ns/iter |
1.07 |
JSON_Parse_Schema_ISO_Language |
4650773.503311072 ns/iter |
4578210.642856807 ns/iter |
1.02 |
JSON_Fast_Hash_Helm_Chart_Lock |
72.04595525079009 ns/iter |
68.62598599365238 ns/iter |
1.05 |
JSON_Equality_Helm_Chart_Lock |
165.47618458859665 ns/iter |
187.46625266774544 ns/iter |
0.88 |
JSON_Divisible_By_Decimal |
246.1753947255347 ns/iter |
234.22549079678774 ns/iter |
1.05 |
JSON_String_Equal/10 |
6.678645467182992 ns/iter |
6.818047014119187 ns/iter |
0.98 |
JSON_String_Equal/100 |
7.285886735350866 ns/iter |
7.5262400340423286 ns/iter |
0.97 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.6239292061108008 ns/iter |
0.7135713683901901 ns/iter |
0.87 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
25.23213305844613 ns/iter |
21.999782000494807 ns/iter |
1.15 |
JSON_String_Fast_Hash/10 |
1.5801918589549884 ns/iter |
1.0564556502239761 ns/iter |
1.50 |
JSON_String_Fast_Hash/100 |
1.5580884463011153 ns/iter |
1.0557867736040965 ns/iter |
1.48 |
JSON_String_Key_Hash/10 |
1.2476057941647345 ns/iter |
1.4070968606245982 ns/iter |
0.89 |
JSON_String_Key_Hash/100 |
12.451405675146201 ns/iter |
14.804276094589255 ns/iter |
0.84 |
JSON_Object_Defines_Miss_Same_Length |
3.42877384603738 ns/iter |
3.871040267466122 ns/iter |
0.89 |
JSON_Object_Defines_Miss_Too_Small |
3.743724249762062 ns/iter |
4.228899509926738 ns/iter |
0.89 |
JSON_Object_Defines_Miss_Too_Large |
3.1179052205570263 ns/iter |
3.522250489738216 ns/iter |
0.89 |
Regex_Lower_S_Or_Upper_S_Asterisk |
1.246962410956999 ns/iter |
1.4088685188363133 ns/iter |
0.89 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.2474356770736954 ns/iter |
1.4080911585542288 ns/iter |
0.89 |
Regex_Period_Asterisk |
1.5575688025500882 ns/iter |
1.7605865903202818 ns/iter |
0.88 |
Regex_Group_Period_Asterisk_Group |
1.5680450379834778 ns/iter |
1.4069783131341937 ns/iter |
1.11 |
Regex_Period_Plus |
1.2462540255556815 ns/iter |
1.411931069884635 ns/iter |
0.88 |
Regex_Period |
1.2469428607460344 ns/iter |
1.4073646104015693 ns/iter |
0.89 |
Regex_Caret_Period_Plus_Dollar |
1.5596218145192242 ns/iter |
1.7607603512140186 ns/iter |
0.89 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
1.559449056624118 ns/iter |
1.759822374562039 ns/iter |
0.89 |
Regex_Caret_Period_Asterisk_Dollar |
1.5593310494115324 ns/iter |
1.4076266164525884 ns/iter |
1.11 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.5570154237929508 ns/iter |
1.4082045180886664 ns/iter |
1.11 |
Regex_Caret_X_Hyphen |
12.137598648211174 ns/iter |
11.598727932506637 ns/iter |
1.05 |
Regex_Period_Md_Dollar |
44.70197913958474 ns/iter |
33.10798456178321 ns/iter |
1.35 |
Regex_Caret_Slash_Period_Asterisk |
4.984381398799327 ns/iter |
4.220749280974567 ns/iter |
1.18 |
Regex_Caret_Period_Range_Dollar |
1.558299806835228 ns/iter |
1.4095833563578286 ns/iter |
1.11 |
Regex_Nested_Backtrack |
54.828988356157446 ns/iter |
49.8192035806824 ns/iter |
1.10 |
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: 9bb4aa1 | Previous: 45a8ba7 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.2845125936473516 ns/iter |
1.8903717058946956 ns/iter |
1.21 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.0728240139222174 ns/iter |
1.892535334686838 ns/iter |
1.10 |
Regex_Period_Asterisk |
2.525893666278766 ns/iter |
1.842045981097986 ns/iter |
1.37 |
Regex_Group_Period_Asterisk_Group |
2.0403123277462067 ns/iter |
1.8902422820606994 ns/iter |
1.08 |
Regex_Period_Plus |
2.48318503724138 ns/iter |
2.233379221780786 ns/iter |
1.11 |
Regex_Period |
2.529264074704041 ns/iter |
2.2525708913925877 ns/iter |
1.12 |
Regex_Caret_Period_Plus_Dollar |
2.4608484110901414 ns/iter |
2.1706950027610077 ns/iter |
1.13 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.1023905263802396 ns/iter |
2.1763587734896945 ns/iter |
0.97 |
Regex_Caret_Period_Asterisk_Dollar |
1.949108989555275 ns/iter |
1.8386292543889888 ns/iter |
1.06 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.9059676594979889 ns/iter |
1.949880828312584 ns/iter |
0.98 |
Regex_Caret_X_Hyphen |
7.293118808228832 ns/iter |
6.992643214663911 ns/iter |
1.04 |
Regex_Period_Md_Dollar |
23.084285739415606 ns/iter |
23.51358684693838 ns/iter |
0.98 |
Regex_Caret_Slash_Period_Asterisk |
5.572344409104575 ns/iter |
5.760448072921925 ns/iter |
0.97 |
Regex_Caret_Period_Range_Dollar |
1.9796594911234149 ns/iter |
2.0970469856088623 ns/iter |
0.94 |
Regex_Nested_Backtrack |
27.607728045537062 ns/iter |
31.305320368525567 ns/iter |
0.88 |
JSON_Array_Of_Objects_Unique |
402.71149558778217 ns/iter |
382.8452655059682 ns/iter |
1.05 |
JSON_Parse_1 |
5003.540743396081 ns/iter |
4442.111676363978 ns/iter |
1.13 |
JSON_Parse_Real |
7173.843908239562 ns/iter |
6777.827094608913 ns/iter |
1.06 |
JSON_Parse_Decimal |
8715.104632557312 ns/iter |
8674.289646370931 ns/iter |
1.00 |
JSON_Parse_Schema_ISO_Language |
3186962.557602754 ns/iter |
3902194.690058476 ns/iter |
0.82 |
JSON_Fast_Hash_Helm_Chart_Lock |
62.57235101722202 ns/iter |
61.56094060632579 ns/iter |
1.02 |
JSON_Equality_Helm_Chart_Lock |
135.55117111783437 ns/iter |
126.19717965707741 ns/iter |
1.07 |
JSON_Divisible_By_Decimal |
199.78207732691163 ns/iter |
194.46675047482026 ns/iter |
1.03 |
JSON_String_Equal/10 |
6.726930893777519 ns/iter |
6.550164956419554 ns/iter |
1.03 |
JSON_String_Equal/100 |
7.036158109821674 ns/iter |
6.742996577214303 ns/iter |
1.04 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.8537955742783402 ns/iter |
0.8154916838770983 ns/iter |
1.05 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
4.035147750076311 ns/iter |
3.6986975156975888 ns/iter |
1.09 |
JSON_String_Fast_Hash/10 |
2.7009426823228093 ns/iter |
2.5482165394089207 ns/iter |
1.06 |
JSON_String_Fast_Hash/100 |
2.1762821715695275 ns/iter |
2.1483589973732045 ns/iter |
1.01 |
JSON_String_Key_Hash/10 |
1.5282563463700711 ns/iter |
1.5240171767022674 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
2.515724930028959 ns/iter |
2.666070861740285 ns/iter |
0.94 |
JSON_Object_Defines_Miss_Same_Length |
2.5529265357883144 ns/iter |
2.708407586646339 ns/iter |
0.94 |
JSON_Object_Defines_Miss_Too_Small |
2.4220724794562436 ns/iter |
2.595199907441587 ns/iter |
0.93 |
JSON_Object_Defines_Miss_Too_Large |
2.5405750574728145 ns/iter |
2.5762199505096497 ns/iter |
0.99 |
Pointer_Object_Traverse |
14.465548469647196 ns/iter |
15.268859942360823 ns/iter |
0.95 |
Pointer_Object_Try_Traverse |
24.676189515665158 ns/iter |
20.101845885292814 ns/iter |
1.23 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
166.39288166146616 ns/iter |
179.75643976843745 ns/iter |
0.93 |
Pointer_Walker_Schema_ISO_Language |
5104536.000000154 ns/iter |
5049588.329999324 ns/iter |
1.01 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1160615.4266407103 ns/iter |
1118472.0149254752 ns/iter |
1.04 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1548312.839430971 ns/iter |
1634156.838709639 ns/iter |
0.95 |
Pointer_Position_Tracker_Get_Deeply_Nested |
401.9372303168658 ns/iter |
406.95024281482705 ns/iter |
0.99 |
Schema_Frame_WoT_References |
5496445.830001448 ns/iter |
5436972.79338852 ns/iter |
1.01 |
Schema_Frame_OMC_References |
28786480.769230578 ns/iter |
26003823.69230986 ns/iter |
1.11 |
Schema_Frame_OMC_Locations |
23805531.933332227 ns/iter |
22272604.166663732 ns/iter |
1.07 |
Schema_Frame_ISO_Language_Locations |
74937470.80000049 ns/iter |
77667791.6666636 ns/iter |
0.96 |
Schema_Frame_KrakenD_References |
43225815.124998234 ns/iter |
47828588.56249561 ns/iter |
0.90 |
Schema_Frame_KrakenD_Reachable |
498092395.99994725 ns/iter |
437269582.4999937 ns/iter |
1.14 |
Schema_Iterator_ISO_Language |
2371684.9678570335 ns/iter |
2394411.057692353 ns/iter |
0.99 |
Schema_Frame_ISO_Language_Locations_To_JSON |
75543599.99999179 ns/iter |
74776824.11111648 ns/iter |
1.01 |
Schema_Tracker_ISO_Language |
9452127.101264488 ns/iter |
8738582.216216633 ns/iter |
1.08 |
Schema_Tracker_ISO_Language_To_JSON |
13876425.372092303 ns/iter |
14793251.750001937 ns/iter |
0.94 |
Schema_Format_ISO_Language_To_JSON |
76093055.44441566 ns/iter |
76668362.50002688 ns/iter |
0.99 |
Schema_Bundle_Meta_2020_12 |
1494582.6262050918 ns/iter |
1354256.6634605727 ns/iter |
1.10 |
Schema_Frame_Many_Resources_References |
359174812.4999867 ns/iter |
402555055.33332324 ns/iter |
0.89 |
EditorSchema_ForEditor_EmbeddedResources |
12676430.0357008 ns/iter |
16173313.499982875 ns/iter |
0.78 |
URITemplateRouter_Create |
19224.37074388371 ns/iter |
20117.908049857186 ns/iter |
0.96 |
URITemplateRouter_Match |
183.3977983612025 ns/iter |
208.72897194903987 ns/iter |
0.88 |
URITemplateRouter_Match_BasePath |
245.1190067749421 ns/iter |
227.74528008446532 ns/iter |
1.08 |
URITemplateRouterView_Restore |
18200.17121154774 ns/iter |
15667.083826511589 ns/iter |
1.16 |
URITemplateRouterView_Match |
156.06387216811572 ns/iter |
138.12262897296895 ns/iter |
1.13 |
URITemplateRouterView_Match_BasePath |
168.80825504759608 ns/iter |
168.69979272746798 ns/iter |
1.00 |
URITemplateRouterView_Arguments |
463.5460897966459 ns/iter |
438.81524529270905 ns/iter |
1.06 |
JSONL_Parse_Large |
13535004.464285651 ns/iter |
12827433.166665494 ns/iter |
1.06 |
JSONL_Parse_Large_GZIP |
13467307.547617089 ns/iter |
15004352.207546068 ns/iter |
0.90 |
HTML_Build_Table_100000 |
82038222.22220777 ns/iter |
71601079.200002 ns/iter |
1.15 |
HTML_Render_Table_100000 |
5169888.3299991395 ns/iter |
4716036.006173307 ns/iter |
1.10 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com