-
-
Notifications
You must be signed in to change notification settings - Fork 9
Fix incorrect instance locations on $ref with allOf
#2145
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
base: main
Are you sure you want to change the base?
Conversation
23d2500 to
fe45a0e
Compare
|
TODO: Seems to loop indefinitely in some schemas? |
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
fe45a0e to
f53ac73
Compare
$ref with allOf$ref with allOf
🤖 Augment PR SummarySummary: Improves Changes:
Technical Notes: Convergence detection uses 🤖 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.
| this->instances_.cbegin(), this->instances_.cend(), std::size_t{0}, | ||
| std::plus<>{}, [](const auto &entry) { return entry.second.size(); })}; | ||
|
|
||
| constexpr std::size_t MAX_PASSES{5}; |
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.
MAX_PASSES{5} can stop the fixpoint iteration early for schemas that require more than 5 inheritance/reference propagation rounds (e.g., deeper parent chains), yielding incomplete instance locations. Consider tying this bound to the same depth limit used for instance-location growth, or otherwise documenting the correctness tradeoff here.
🤖 Was this 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.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: d89edd9 | Previous: a49bdc7 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
3.1284423465779847 ns/iter |
3.153757134480479 ns/iter |
0.99 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.1078774307772288 ns/iter |
3.1095541580660204 ns/iter |
1.00 |
Regex_Period_Asterisk |
3.1090356392375758 ns/iter |
3.1104178211971565 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
3.1142767783655643 ns/iter |
3.108821345527177 ns/iter |
1.00 |
Regex_Period_Plus |
3.0401867183055824 ns/iter |
2.8817160085967255 ns/iter |
1.05 |
Regex_Period |
3.1091296584656156 ns/iter |
3.108529180159894 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
3.108571120604326 ns/iter |
3.1087725512357616 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.1222737029875054 ns/iter |
2.900353619108522 ns/iter |
1.08 |
Regex_Caret_Period_Asterisk_Dollar |
3.108853402169245 ns/iter |
3.731503827545664 ns/iter |
0.83 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
3.1077931886107333 ns/iter |
3.7298358779818144 ns/iter |
0.83 |
Regex_Caret_X_Hyphen |
10.267710945520873 ns/iter |
12.43285883152315 ns/iter |
0.83 |
Regex_Period_Md_Dollar |
27.88972006473275 ns/iter |
27.652512065444494 ns/iter |
1.01 |
Regex_Caret_Slash_Period_Asterisk |
7.462809528511687 ns/iter |
6.5292419461646904 ns/iter |
1.14 |
Regex_Caret_Period_Range_Dollar |
3.7302647471119412 ns/iter |
4.04176103347443 ns/iter |
0.92 |
Regex_Nested_Backtrack |
49.18642546411533 ns/iter |
49.54324863074503 ns/iter |
0.99 |
JSON_Array_Of_Objects_Unique |
430.9878701152163 ns/iter |
437.1791090637249 ns/iter |
0.99 |
JSON_Parse_1 |
29085.328470493834 ns/iter |
29014.40595247941 ns/iter |
1.00 |
JSON_Parse_Real |
37910.00546064164 ns/iter |
37818.62193875101 ns/iter |
1.00 |
JSON_Parse_Decimal |
128803.80036831311 ns/iter |
129204.67860438077 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
62.558157261368564 ns/iter |
62.17160009761987 ns/iter |
1.01 |
JSON_Equality_Helm_Chart_Lock |
176.55518125282666 ns/iter |
164.29273785357339 ns/iter |
1.07 |
JSON_String_Equal/10 |
8.087892934557141 ns/iter |
6.845738083410754 ns/iter |
1.18 |
JSON_String_Equal/100 |
8.71356089277716 ns/iter |
7.463461701334823 ns/iter |
1.17 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.9378679892572179 ns/iter |
0.9361629966190337 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
10.257830167119998 ns/iter |
14.603907267111635 ns/iter |
0.70 |
JSON_String_Fast_Hash/10 |
2.487193852460138 ns/iter |
2.8004998886412604 ns/iter |
0.89 |
JSON_String_Fast_Hash/100 |
2.4868496228013934 ns/iter |
2.7992222476469317 ns/iter |
0.89 |
JSON_String_Key_Hash/10 |
2.488819530394769 ns/iter |
2.6918943737091556 ns/iter |
0.92 |
JSON_String_Key_Hash/100 |
6.527699284479519 ns/iter |
9.024388517078545 ns/iter |
0.72 |
JSON_Object_Defines_Miss_Same_Length |
3.7367361658910143 ns/iter |
3.735049679042204 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.7451290199310328 ns/iter |
3.733735809798218 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.738777562123503 ns/iter |
3.7360829795726036 ns/iter |
1.00 |
Pointer_Object_Traverse |
46.09839835550892 ns/iter |
44.301421508230156 ns/iter |
1.04 |
Pointer_Object_Try_Traverse |
53.535197192481185 ns/iter |
53.51904696725839 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
350.5228912850907 ns/iter |
308.76029756864267 ns/iter |
1.14 |
Schema_Frame_WoT_Instances |
868879197.0000694 ns/iter |
||
Schema_Frame_OMC_Instances |
123143726344.00002 ns/iter |
200896078.00002798 ns/iter |
612.97 |
Schema_Frame_OMC_References |
34123753.70000405 ns/iter |
38465697.47368353 ns/iter |
0.89 |
Schema_Frame_OMC_Locations |
31750958.818179246 ns/iter |
34782838.849997684 ns/iter |
0.91 |
Schema_Frame_ISO_Language_Locations |
155880195.00000882 ns/iter |
174303135.24999973 ns/iter |
0.89 |
Schema_Iterator_ISO_Language |
6039308.068376803 ns/iter |
6158405.946903016 ns/iter |
0.98 |
Schema_PointerWalker_ISO_Language |
4602226.940789933 ns/iter |
4688018.993287975 ns/iter |
0.98 |
Schema_Frame_ISO_Language_Locations_To_JSON |
111239412.1666777 ns/iter |
149004634.40001205 ns/iter |
0.75 |
Schema_Tracker_ISO_Language |
44996290.312504075 ns/iter |
48262087.78571786 ns/iter |
0.93 |
Schema_Tracker_ISO_Language_To_JSON |
21404626.757575072 ns/iter |
24471318.931032643 ns/iter |
0.87 |
Schema_Format_ISO_Language_To_JSON |
162472575.49997586 ns/iter |
180436705.0000053 ns/iter |
0.90 |
Schema_Bundle_Meta_2020_12 |
2237197.2261131755 ns/iter |
2254709.366563293 ns/iter |
0.99 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
281461138.49999213 ns/iter |
303246445.5000081 ns/iter |
0.93 |
Alterschema_Check_Readibility_OMC |
121562722800.99995 ns/iter |
209898669.9999917 ns/iter |
579.15 |
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: d89edd9 | Previous: a49bdc7 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.6547163446395763 ns/iter |
1.6000358732160735 ns/iter |
1.03 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.6795495589673066 ns/iter |
1.609029341057054 ns/iter |
1.04 |
Regex_Period_Asterisk |
1.6581276693793143 ns/iter |
1.6131867823099926 ns/iter |
1.03 |
Regex_Group_Period_Asterisk_Group |
1.6838391196232254 ns/iter |
1.6082627591048861 ns/iter |
1.05 |
Regex_Period_Plus |
1.9847359883823663 ns/iter |
1.9296087092307006 ns/iter |
1.03 |
Regex_Period |
1.9130442218188448 ns/iter |
1.9098557124044846 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
1.891318773785049 ns/iter |
1.9366421660536466 ns/iter |
0.98 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
1.884758502795698 ns/iter |
1.9102078439130548 ns/iter |
0.99 |
Regex_Caret_Period_Asterisk_Dollar |
1.5949821543352185 ns/iter |
1.6074249436917991 ns/iter |
0.99 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.6430976877457968 ns/iter |
1.6036922643171512 ns/iter |
1.02 |
Regex_Caret_X_Hyphen |
6.247626674228351 ns/iter |
6.3791029502966206 ns/iter |
0.98 |
Regex_Period_Md_Dollar |
19.48408202766095 ns/iter |
20.419276248676354 ns/iter |
0.95 |
Regex_Caret_Slash_Period_Asterisk |
5.663423120303307 ns/iter |
5.267682827691062 ns/iter |
1.08 |
Regex_Caret_Period_Range_Dollar |
1.7010243439000134 ns/iter |
1.834708179113876 ns/iter |
0.93 |
Regex_Nested_Backtrack |
27.77339613203277 ns/iter |
29.414846261786405 ns/iter |
0.94 |
JSON_Array_Of_Objects_Unique |
332.611747395587 ns/iter |
360.9964167915341 ns/iter |
0.92 |
JSON_Parse_1 |
20818.41908360619 ns/iter |
21442.148613043428 ns/iter |
0.97 |
JSON_Parse_Real |
25265.96106274334 ns/iter |
25694.32310401983 ns/iter |
0.98 |
JSON_Parse_Decimal |
252519.6911548982 ns/iter |
248873.80642891937 ns/iter |
1.01 |
JSON_Fast_Hash_Helm_Chart_Lock |
57.40279762487146 ns/iter |
56.719872866599395 ns/iter |
1.01 |
JSON_Equality_Helm_Chart_Lock |
131.7327406548471 ns/iter |
125.73346254841796 ns/iter |
1.05 |
JSON_String_Equal/10 |
6.839486517937544 ns/iter |
6.32912193391008 ns/iter |
1.08 |
JSON_String_Equal/100 |
6.41741750696615 ns/iter |
6.191137481516241 ns/iter |
1.04 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.33253112137731733 ns/iter |
0.3176420856233203 ns/iter |
1.05 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.2201807384968695 ns/iter |
3.1306922593292894 ns/iter |
1.03 |
JSON_String_Fast_Hash/10 |
2.2175844057278904 ns/iter |
2.2240553810345642 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
1.9534962776174405 ns/iter |
1.9061888778647211 ns/iter |
1.02 |
JSON_String_Key_Hash/10 |
1.3192534661166964 ns/iter |
1.2610515449460955 ns/iter |
1.05 |
JSON_String_Key_Hash/100 |
2.1019688435270645 ns/iter |
2.0382181434555577 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Same_Length |
2.6306368029130396 ns/iter |
2.644399957683702 ns/iter |
0.99 |
JSON_Object_Defines_Miss_Too_Small |
2.6235990853700346 ns/iter |
2.6998671414375397 ns/iter |
0.97 |
JSON_Object_Defines_Miss_Too_Large |
2.6242447552666897 ns/iter |
2.7914477963855857 ns/iter |
0.94 |
Pointer_Object_Traverse |
14.00808499927912 ns/iter |
15.60088841438379 ns/iter |
0.90 |
Pointer_Object_Try_Traverse |
17.884241394841677 ns/iter |
19.585013298681307 ns/iter |
0.91 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
149.80868331190223 ns/iter |
155.9483718769611 ns/iter |
0.96 |
Schema_Frame_WoT_Instances |
700055499.9999622 ns/iter |
||
Schema_Frame_OMC_Instances |
156236000542.00006 ns/iter |
188622551.9999698 ns/iter |
828.30 |
Schema_Frame_OMC_References |
35026892.85713651 ns/iter |
34208389.600007646 ns/iter |
1.02 |
Schema_Frame_OMC_Locations |
33490744.047629137 ns/iter |
32359780.318198647 ns/iter |
1.03 |
Schema_Frame_ISO_Language_Locations |
121014368.16662197 ns/iter |
117830991.79992859 ns/iter |
1.03 |
Schema_Iterator_ISO_Language |
6731462.837837302 ns/iter |
6048712.719300391 ns/iter |
1.11 |
Schema_PointerWalker_ISO_Language |
6495286.99065494 ns/iter |
5539472.219305408 ns/iter |
1.17 |
Schema_Frame_ISO_Language_Locations_To_JSON |
74260059.57144557 ns/iter |
78694291.66668043 ns/iter |
0.94 |
Schema_Tracker_ISO_Language |
39285825.99998181 ns/iter |
36990840.27776836 ns/iter |
1.06 |
Schema_Tracker_ISO_Language_To_JSON |
13904515.95744572 ns/iter |
13566386.68001324 ns/iter |
1.02 |
Schema_Format_ISO_Language_To_JSON |
107680763.99995153 ns/iter |
110045437.49974497 ns/iter |
0.98 |
Schema_Bundle_Meta_2020_12 |
1517149.1546813753 ns/iter |
1542569.678805258 ns/iter |
0.98 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
191150083.49990603 ns/iter |
196171583.49979037 ns/iter |
0.97 |
Alterschema_Check_Readibility_OMC |
157968061540.99976 ns/iter |
202699718.74995464 ns/iter |
779.32 |
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 (windows/msvc)
Details
| Benchmark suite | Current: d89edd9 | Previous: a49bdc7 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
4.24805139582164 ns/iter |
3.7718314218374154 ns/iter |
1.13 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
4.765683282311918 ns/iter |
4.44574375000002 ns/iter |
1.07 |
Regex_Period_Asterisk |
4.179154618667968 ns/iter |
3.76840122767825 ns/iter |
1.11 |
Regex_Group_Period_Asterisk_Group |
4.802723438571306 ns/iter |
4.395797499995524 ns/iter |
1.09 |
Regex_Period_Plus |
4.488254374999201 ns/iter |
3.775193564690541 ns/iter |
1.19 |
Regex_Period |
4.426027243596582 ns/iter |
3.771143654821548 ns/iter |
1.17 |
Regex_Caret_Period_Plus_Dollar |
5.193989999997939 ns/iter |
4.394075624998095 ns/iter |
1.18 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
5.097948617210285 ns/iter |
4.397029375002148 ns/iter |
1.16 |
Regex_Caret_Period_Asterisk_Dollar |
4.898588170734248 ns/iter |
4.467083750000711 ns/iter |
1.10 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.912192644894756 ns/iter |
4.39064375000271 ns/iter |
1.12 |
Regex_Caret_X_Hyphen |
8.212660714289452 ns/iter |
7.84791852678625 ns/iter |
1.05 |
Regex_Period_Md_Dollar |
36.55593149006999 ns/iter |
38.83620535713054 ns/iter |
0.94 |
Regex_Caret_Slash_Period_Asterisk |
8.358203125001955 ns/iter |
7.8332723214304325 ns/iter |
1.07 |
Regex_Caret_Period_Range_Dollar |
4.921553571429221 ns/iter |
4.724681260544559 ns/iter |
1.04 |
Regex_Nested_Backtrack |
103.17950432234053 ns/iter |
112.07741017514992 ns/iter |
0.92 |
JSON_Array_Of_Objects_Unique |
526.4768749997627 ns/iter |
456.6141343894238 ns/iter |
1.15 |
JSON_Parse_1 |
77962.63392856011 ns/iter |
75918.8169642552 ns/iter |
1.03 |
JSON_Parse_Real |
102521.25351544665 ns/iter |
100181.29101381112 ns/iter |
1.02 |
JSON_Parse_Decimal |
377700.870574692 ns/iter |
340766.0164273066 ns/iter |
1.11 |
JSON_Fast_Hash_Helm_Chart_Lock |
69.03457142860653 ns/iter |
57.621999999992106 ns/iter |
1.20 |
JSON_Equality_Helm_Chart_Lock |
272.9890858476804 ns/iter |
275.99342517886254 ns/iter |
0.99 |
JSON_String_Equal/10 |
12.923005522659608 ns/iter |
12.857264285701472 ns/iter |
1.01 |
JSON_String_Equal/100 |
14.452193908696264 ns/iter |
14.154498820746149 ns/iter |
1.02 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
1.918403305284241 ns/iter |
1.8864208945421506 ns/iter |
1.02 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
13.799896428565717 ns/iter |
12.545503571426966 ns/iter |
1.10 |
JSON_String_Fast_Hash/10 |
4.006660625000791 ns/iter |
3.1361843749989147 ns/iter |
1.28 |
JSON_String_Fast_Hash/100 |
3.9248501768207613 ns/iter |
3.136741071431613 ns/iter |
1.25 |
JSON_String_Key_Hash/10 |
4.535711719763634 ns/iter |
4.506504832680796 ns/iter |
1.01 |
JSON_String_Key_Hash/100 |
16.671938727640228 ns/iter |
16.228314623468194 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Same_Length |
3.901169993033945 ns/iter |
3.7629058861392504 ns/iter |
1.04 |
JSON_Object_Defines_Miss_Too_Small |
4.025540736607119 ns/iter |
3.7622485647105286 ns/iter |
1.07 |
JSON_Object_Defines_Miss_Too_Large |
3.836775111606881 ns/iter |
3.7680954241078473 ns/iter |
1.02 |
Pointer_Object_Traverse |
53.204794642860115 ns/iter |
50.7969299999786 ns/iter |
1.05 |
Pointer_Object_Try_Traverse |
74.4736160714053 ns/iter |
66.20436607144192 ns/iter |
1.12 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
171.0883009899749 ns/iter |
170.20544220129938 ns/iter |
1.01 |
Schema_Frame_WoT_Instances |
1494152199.9999168 ns/iter |
||
Schema_Frame_OMC_Instances |
183452376499.9999 ns/iter |
390929650.00008917 ns/iter |
469.27 |
Schema_Frame_OMC_References |
72535088.88889985 ns/iter |
75887366.66669624 ns/iter |
0.96 |
Schema_Frame_OMC_Locations |
68914888.88888691 ns/iter |
71896677.77775969 ns/iter |
0.96 |
Schema_Frame_ISO_Language_Locations |
285833949.9998692 ns/iter |
300950150.0000624 ns/iter |
0.95 |
Schema_Iterator_ISO_Language |
13108350.000002246 ns/iter |
12448297.999999339 ns/iter |
1.05 |
Schema_PointerWalker_ISO_Language |
10191917.187498234 ns/iter |
9788614.66666179 ns/iter |
1.04 |
Schema_Frame_ISO_Language_Locations_To_JSON |
215091800.00005773 ns/iter |
221804833.33340815 ns/iter |
0.97 |
Schema_Tracker_ISO_Language |
101131383.33334367 ns/iter |
100820950.00007029 ns/iter |
1.00 |
Schema_Tracker_ISO_Language_To_JSON |
54170418.18182869 ns/iter |
53051172.72729893 ns/iter |
1.02 |
Schema_Format_ISO_Language_To_JSON |
293283299.9999846 ns/iter |
315061350.00063294 ns/iter |
0.93 |
Schema_Bundle_Meta_2020_12 |
3964398.1220597452 ns/iter |
3835882.352926573 ns/iter |
1.03 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
449011600.00017625 ns/iter |
470674050.0000706 ns/iter |
0.95 |
Alterschema_Check_Readibility_OMC |
178619654899.99966 ns/iter |
382659849.9999818 ns/iter |
466.78 |
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: d89edd9 | Previous: a49bdc7 | Ratio |
|---|---|---|---|
Alterschema_Check_Readibility_ISO_Language_Set_3 |
307417364.9999921 ns/iter |
306563556.0000146 ns/iter |
1.00 |
Alterschema_Check_Readibility_OMC |
148826335776.99973 ns/iter |
202601030.3333502 ns/iter |
734.58 |
Schema_Frame_WoT_Instances |
798206267.0002961 ns/iter |
||
Schema_Frame_OMC_Instances |
141261056439.00018 ns/iter |
198316078.49999955 ns/iter |
712.30 |
Schema_Frame_OMC_References |
40353337.6111227 ns/iter |
40125028.77777832 ns/iter |
1.01 |
Schema_Frame_OMC_Locations |
38763978.055562295 ns/iter |
37547067.94445105 ns/iter |
1.03 |
Schema_Frame_ISO_Language_Locations |
167880965.75010058 ns/iter |
175860650.25000152 ns/iter |
0.95 |
Schema_Iterator_ISO_Language |
7328093.216491437 ns/iter |
6853948.69306983 ns/iter |
1.07 |
Schema_PointerWalker_ISO_Language |
4344696.734178106 ns/iter |
4410884.7721518725 ns/iter |
0.98 |
Schema_Frame_ISO_Language_Locations_To_JSON |
197848605.66672555 ns/iter |
270052636.0000216 ns/iter |
0.73 |
Schema_Tracker_ISO_Language |
51615354.30768429 ns/iter |
49870561.928563416 ns/iter |
1.03 |
Schema_Tracker_ISO_Language_To_JSON |
36989596.15789327 ns/iter |
33199138.190476723 ns/iter |
1.11 |
Schema_Format_ISO_Language_To_JSON |
183444854.49995318 ns/iter |
181148445.49995723 ns/iter |
1.01 |
Schema_Bundle_Meta_2020_12 |
2459132.484218891 ns/iter |
2451482.762235746 ns/iter |
1.00 |
Pointer_Object_Traverse |
49.927438047672325 ns/iter |
49.25254416886729 ns/iter |
1.01 |
Pointer_Object_Try_Traverse |
26.17188500093872 ns/iter |
22.725121348928578 ns/iter |
1.15 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
175.23099684544275 ns/iter |
158.30908724696542 ns/iter |
1.11 |
JSON_Array_Of_Objects_Unique |
398.79221303225114 ns/iter |
415.1209930491512 ns/iter |
0.96 |
JSON_Parse_1 |
32910.382239581435 ns/iter |
32710.553659900525 ns/iter |
1.01 |
JSON_Parse_Real |
44588.215739127474 ns/iter |
43983.23881914095 ns/iter |
1.01 |
JSON_Parse_Decimal |
154726.4398755068 ns/iter |
153940.8128025026 ns/iter |
1.01 |
JSON_Fast_Hash_Helm_Chart_Lock |
53.3545664468755 ns/iter |
71.1420140510328 ns/iter |
0.75 |
JSON_Equality_Helm_Chart_Lock |
158.89226225000192 ns/iter |
157.99722894239687 ns/iter |
1.01 |
JSON_String_Equal/10 |
6.612378324924113 ns/iter |
7.233844904635994 ns/iter |
0.91 |
JSON_String_Equal/100 |
7.237484831887398 ns/iter |
7.8596101307984085 ns/iter |
0.92 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.6236710985730238 ns/iter |
0.9344057060126142 ns/iter |
0.67 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
13.787063041904045 ns/iter |
13.374518533326011 ns/iter |
1.03 |
JSON_String_Fast_Hash/10 |
2.165663660943541 ns/iter |
1.9428583142133082 ns/iter |
1.11 |
JSON_String_Fast_Hash/100 |
2.1658867925104617 ns/iter |
1.9445619113474701 ns/iter |
1.11 |
JSON_String_Key_Hash/10 |
2.921162269491009 ns/iter |
1.5571706062279456 ns/iter |
1.88 |
JSON_String_Key_Hash/100 |
13.368664741311077 ns/iter |
12.429057756658697 ns/iter |
1.08 |
JSON_Object_Defines_Miss_Same_Length |
2.7994671391351305 ns/iter |
2.7986660148610785 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
2.7983644916153483 ns/iter |
2.8005626816753213 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
2.799337087870306 ns/iter |
2.7997432740969166 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
3.1095675109318393 ns/iter |
3.1114223625679784 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
3.1093968406553407 ns/iter |
3.11069574159413 ns/iter |
1.00 |
Regex_Period_Asterisk |
3.1199769975782017 ns/iter |
3.109829580789386 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
3.108592237775997 ns/iter |
3.1086675131806945 ns/iter |
1.00 |
Regex_Period_Plus |
3.1093730006624973 ns/iter |
2.8067755665417566 ns/iter |
1.11 |
Regex_Period |
3.116696587570237 ns/iter |
2.798066357993793 ns/iter |
1.11 |
Regex_Caret_Period_Plus_Dollar |
3.1082873685056738 ns/iter |
2.7982551255022 ns/iter |
1.11 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
3.1089084262146582 ns/iter |
2.7998627948064816 ns/iter |
1.11 |
Regex_Caret_Period_Asterisk_Dollar |
4.35154621012232 ns/iter |
4.047464112725437 ns/iter |
1.08 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.352018280393351 ns/iter |
4.040174389849032 ns/iter |
1.08 |
Regex_Caret_X_Hyphen |
13.061988570868445 ns/iter |
13.704720906443242 ns/iter |
0.95 |
Regex_Period_Md_Dollar |
35.67136085890207 ns/iter |
35.363651759609354 ns/iter |
1.01 |
Regex_Caret_Slash_Period_Asterisk |
9.022961142098735 ns/iter |
8.701966896642096 ns/iter |
1.04 |
Regex_Caret_Period_Range_Dollar |
4.665395023830851 ns/iter |
3.818386901436186 ns/iter |
1.22 |
Regex_Nested_Backtrack |
59.93128449976372 ns/iter |
56.800645214058264 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 (macos/gcc)
Details
| Benchmark suite | Current: d89edd9 | Previous: a49bdc7 | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
2.110640546270517 ns/iter |
2.147905259207392 ns/iter |
0.98 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.0838674915183772 ns/iter |
2.1503622823782442 ns/iter |
0.97 |
Regex_Period_Asterisk |
2.0859386641588884 ns/iter |
2.1884181466041452 ns/iter |
0.95 |
Regex_Group_Period_Asterisk_Group |
2.0848583112997456 ns/iter |
2.2202547065432228 ns/iter |
0.94 |
Regex_Period_Plus |
2.2646354658691967 ns/iter |
2.297738273696676 ns/iter |
0.99 |
Regex_Period |
2.155426178954819 ns/iter |
2.3527267496474162 ns/iter |
0.92 |
Regex_Caret_Period_Plus_Dollar |
2.298811859433578 ns/iter |
2.656426867433941 ns/iter |
0.87 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.288661161940637 ns/iter |
2.228380144580531 ns/iter |
1.03 |
Regex_Caret_Period_Asterisk_Dollar |
2.41226102590715 ns/iter |
2.164429935851479 ns/iter |
1.11 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
2.376019469917413 ns/iter |
2.1600304239523456 ns/iter |
1.10 |
Regex_Caret_X_Hyphen |
7.262078446967921 ns/iter |
6.645628845532071 ns/iter |
1.09 |
Regex_Period_Md_Dollar |
24.62457947223683 ns/iter |
21.135922276617837 ns/iter |
1.17 |
Regex_Caret_Slash_Period_Asterisk |
5.851415865498322 ns/iter |
4.77403959846143 ns/iter |
1.23 |
Regex_Caret_Period_Range_Dollar |
3.0419909014913693 ns/iter |
2.1599618465414014 ns/iter |
1.41 |
Regex_Nested_Backtrack |
55.447927232796424 ns/iter |
43.9095926546355 ns/iter |
1.26 |
JSON_Array_Of_Objects_Unique |
284.1399005879893 ns/iter |
259.374169034043 ns/iter |
1.10 |
JSON_Parse_1 |
24646.082725764736 ns/iter |
23609.82080068927 ns/iter |
1.04 |
JSON_Parse_Real |
26191.111372773787 ns/iter |
24496.626185820434 ns/iter |
1.07 |
JSON_Parse_Decimal |
263316.924144297 ns/iter |
259788.86344087694 ns/iter |
1.01 |
JSON_Fast_Hash_Helm_Chart_Lock |
34.25840677132444 ns/iter |
32.59118797113001 ns/iter |
1.05 |
JSON_Equality_Helm_Chart_Lock |
124.51151824898578 ns/iter |
122.48233206246113 ns/iter |
1.02 |
JSON_String_Equal/10 |
5.458048369558947 ns/iter |
5.817193777921539 ns/iter |
0.94 |
JSON_String_Equal/100 |
5.198069231690491 ns/iter |
5.524824464137582 ns/iter |
0.94 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7537367864270328 ns/iter |
0.795320617023189 ns/iter |
0.95 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.4979980067876943 ns/iter |
3.6556130456657883 ns/iter |
0.96 |
JSON_String_Fast_Hash/10 |
1.833107011818741 ns/iter |
1.9246030899994657 ns/iter |
0.95 |
JSON_String_Fast_Hash/100 |
1.9444190903710972 ns/iter |
1.9162809631285906 ns/iter |
1.01 |
JSON_String_Key_Hash/10 |
1.550811728971166 ns/iter |
1.5212885242907466 ns/iter |
1.02 |
JSON_String_Key_Hash/100 |
2.7899202181637026 ns/iter |
2.7184964888300978 ns/iter |
1.03 |
JSON_Object_Defines_Miss_Same_Length |
2.0591163109240704 ns/iter |
1.8772844966807358 ns/iter |
1.10 |
JSON_Object_Defines_Miss_Too_Small |
2.0939936633014486 ns/iter |
1.79048011873879 ns/iter |
1.17 |
JSON_Object_Defines_Miss_Too_Large |
2.071472893942728 ns/iter |
1.783477378805577 ns/iter |
1.16 |
Pointer_Object_Traverse |
60.19800573504984 ns/iter |
49.96860134546936 ns/iter |
1.20 |
Pointer_Object_Try_Traverse |
40.97172297175281 ns/iter |
35.58957447118954 ns/iter |
1.15 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
176.72065147082768 ns/iter |
159.0123791821537 ns/iter |
1.11 |
Schema_Frame_WoT_Instances |
923938035.9649658 ns/iter |
||
Schema_Frame_OMC_Instances |
160275328159.33228 ns/iter |
184548020.362854 ns/iter |
868.47 |
Schema_Frame_OMC_References |
45756936.07330322 ns/iter |
39464433.98793539 ns/iter |
1.16 |
Schema_Frame_OMC_Locations |
41711582.85701976 ns/iter |
37306785.583496094 ns/iter |
1.12 |
Schema_Frame_ISO_Language_Locations |
173077523.7083435 ns/iter |
158005952.835083 ns/iter |
1.10 |
Schema_Iterator_ISO_Language |
6234069.841097942 ns/iter |
6449108.823723749 ns/iter |
0.97 |
Schema_PointerWalker_ISO_Language |
10972574.353218079 ns/iter |
8469871.985606657 ns/iter |
1.30 |
Schema_Frame_ISO_Language_Locations_To_JSON |
182179927.82592773 ns/iter |
137751197.8149414 ns/iter |
1.32 |
Schema_Tracker_ISO_Language |
42483553.29036713 ns/iter |
37426392.237345375 ns/iter |
1.14 |
Schema_Tracker_ISO_Language_To_JSON |
23354620.76910611 ns/iter |
24619102.478027344 ns/iter |
0.95 |
Schema_Format_ISO_Language_To_JSON |
165235638.61846924 ns/iter |
165259838.10424805 ns/iter |
1.00 |
Schema_Bundle_Meta_2020_12 |
1856557.060690487 ns/iter |
1932050.104010595 ns/iter |
0.96 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
258724371.59220377 ns/iter |
241150379.1809082 ns/iter |
1.07 |
Alterschema_Check_Readibility_OMC |
177564007997.51282 ns/iter |
187406480.3123474 ns/iter |
947.48 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com