Implement dependency management in jsonschema.json#617
Conversation
5c71059 to
1d12cf1
Compare
There was a problem hiding this comment.
Benchmark (macos/llvm)
Details
| Benchmark suite | Current: 9d1b5e6 | Previous: ce2165f | Ratio |
|---|---|---|---|
E2E_Compiler_adaptivecard |
67867549.99999402 ns/iter |
117452800.00000092 ns/iter |
0.58 |
E2E_Compiler_ansible_meta |
29467902.791665778 ns/iter |
39650938.705884025 ns/iter |
0.74 |
E2E_Compiler_aws_cdk |
419929.8177874131 ns/iter |
756703.0000000158 ns/iter |
0.55 |
E2E_Compiler_babelrc |
3027409.0447152765 ns/iter |
4728620.166666633 ns/iter |
0.64 |
E2E_Compiler_clang_format |
18785866.65714335 ns/iter |
20090235.576919194 ns/iter |
0.94 |
E2E_Compiler_cmake_presets |
36472596.590907745 ns/iter |
43153218.176471725 ns/iter |
0.85 |
E2E_Compiler_code_climate |
2477352.3295021155 ns/iter |
3878097.0917433067 ns/iter |
0.64 |
E2E_Compiler_cql2 |
16466682.836733302 ns/iter |
20060658.973683964 ns/iter |
0.82 |
E2E_Compiler_cspell |
20701191.37036912 ns/iter |
31783763.90476279 ns/iter |
0.65 |
E2E_Compiler_cypress |
4356372.701657603 ns/iter |
5619340.420000753 ns/iter |
0.78 |
E2E_Compiler_deno |
8467151.410714889 ns/iter |
11950735.16438454 ns/iter |
0.71 |
E2E_Compiler_dependabot |
3886599.338982906 ns/iter |
6036377.849314604 ns/iter |
0.64 |
E2E_Compiler_draft_04 |
2620843.8735295655 ns/iter |
3330794.028339951 ns/iter |
0.79 |
E2E_Compiler_fabric_mod |
4529969.126506549 ns/iter |
6659925.591836271 ns/iter |
0.68 |
E2E_Compiler_geojson |
26406201.680001687 ns/iter |
48577511.066666074 ns/iter |
0.54 |
E2E_Compiler_gitpod_configuration |
5223636.660000466 ns/iter |
7869348.242105077 ns/iter |
0.66 |
E2E_Compiler_helm_chart_lock |
602721.0000000596 ns/iter |
1112552.0282186582 ns/iter |
0.54 |
E2E_Compiler_importmap |
295070.67274889234 ns/iter |
643631.1250000698 ns/iter |
0.46 |
E2E_Compiler_jasmine |
1200401.9396170136 ns/iter |
2158298.416201135 ns/iter |
0.56 |
E2E_Compiler_jshintrc |
4047422.0430112793 ns/iter |
5709980.6701031765 ns/iter |
0.71 |
E2E_Compiler_jsconfig |
19075786.885712527 ns/iter |
34299449.26087165 ns/iter |
0.56 |
E2E_Compiler_krakend |
156362968.75001675 ns/iter |
245375471.99997792 ns/iter |
0.64 |
E2E_Compiler_lazygit |
32409922.363637056 ns/iter |
52534003.49999993 ns/iter |
0.62 |
E2E_Compiler_lerna |
1521604.2435425092 ns/iter |
2598181.9562286353 ns/iter |
0.59 |
E2E_Compiler_nest_cli |
6761732.555555372 ns/iter |
12584887.438596556 ns/iter |
0.54 |
E2E_Compiler_omc |
177990978.9999863 ns/iter |
254103611.000005 ns/iter |
0.70 |
E2E_Compiler_omnisharp |
5838914.915967171 ns/iter |
9846545.259258028 ns/iter |
0.59 |
E2E_Compiler_openapi |
27788147.727271665 ns/iter |
31716885.41666621 ns/iter |
0.88 |
E2E_Compiler_pre_commit_hooks |
4285274.07777829 ns/iter |
7622044.305263013 ns/iter |
0.56 |
E2E_Compiler_pulumi |
3703625.6410257732 ns/iter |
5418817.401961156 ns/iter |
0.68 |
E2E_Compiler_semantic_release |
1381307.0335306386 ns/iter |
1996714.5823526983 ns/iter |
0.69 |
E2E_Compiler_stale |
1706853.9540816825 ns/iter |
2095159.8184929213 ns/iter |
0.81 |
E2E_Compiler_stylecop |
6543040.854368874 ns/iter |
7069040.653226282 ns/iter |
0.93 |
E2E_Compiler_tmuxinator |
2121625.8652848266 ns/iter |
2589667.918918899 ns/iter |
0.82 |
E2E_Compiler_ui5 |
62081434.000001915 ns/iter |
88461295.8000048 ns/iter |
0.70 |
E2E_Compiler_ui5_manifest |
328870208.49995 ns/iter |
586807292.0000031 ns/iter |
0.56 |
E2E_Compiler_unreal_engine_uproject |
4118005.5555552524 ns/iter |
4849141.592591911 ns/iter |
0.85 |
E2E_Compiler_vercel |
17883315.34090885 ns/iter |
25919951.84375051 ns/iter |
0.69 |
E2E_Compiler_yamllint |
295776.16347381973 ns/iter |
965751.4579999998 ns/iter |
0.31 |
E2E_Evaluator_adaptivecard |
30768.52418607858 ns/iter |
43618.391368620796 ns/iter |
0.71 |
E2E_Evaluator_ansible_meta |
233432.3728112113 ns/iter |
512263.07804606296 ns/iter |
0.46 |
E2E_Evaluator_aws_cdk |
58099.11924227546 ns/iter |
72891.65091894231 ns/iter |
0.80 |
E2E_Evaluator_babelrc |
125794.96715988491 ns/iter |
178899.6416354992 ns/iter |
0.70 |
E2E_Evaluator_cerebrum_criminal_case |
1560767.1996124652 ns/iter |
2052834.957792188 ns/iter |
0.76 |
E2E_Evaluator_clang_format |
149749.36583989594 ns/iter |
177485.27607981494 ns/iter |
0.84 |
E2E_Evaluator_cmake_presets |
4421702.8613145575 ns/iter |
6447893.400000263 ns/iter |
0.69 |
E2E_Evaluator_code_climate |
289184.32686778106 ns/iter |
261150.73086002606 ns/iter |
1.11 |
E2E_Evaluator_cql2 |
231929.5962320035 ns/iter |
281121.0635045209 ns/iter |
0.83 |
E2E_Evaluator_cspell |
522014.21289819456 ns/iter |
730443.1703628994 ns/iter |
0.71 |
E2E_Evaluator_cypress |
194997.46759364207 ns/iter |
217837.5890736077 ns/iter |
0.90 |
E2E_Evaluator_deno |
274984.56535793317 ns/iter |
346947.67275840073 ns/iter |
0.79 |
E2E_Evaluator_dependabot |
382164.7696477133 ns/iter |
594911.2948717991 ns/iter |
0.64 |
E2E_Evaluator_draft_04 |
6490963.123894241 ns/iter |
8973632.53333359 ns/iter |
0.72 |
E2E_Evaluator_fabric_mod |
696946.0727969675 ns/iter |
944431.8438818108 ns/iter |
0.74 |
E2E_Evaluator_geojson |
23396387.999998324 ns/iter |
30302533.76190168 ns/iter |
0.77 |
E2E_Evaluator_gitpod_configuration |
245782.2210526313 ns/iter |
368555.7431325209 ns/iter |
0.67 |
E2E_Evaluator_helm_chart_lock |
329351.8675821848 ns/iter |
475585.2153141464 ns/iter |
0.69 |
E2E_Evaluator_importmap |
58593.07080000917 ns/iter |
72687.52325668056 ns/iter |
0.81 |
E2E_Evaluator_jasmine |
147215.3293401715 ns/iter |
173266.66253715428 ns/iter |
0.85 |
E2E_Evaluator_jshintrc |
1136002.52966098 ns/iter |
1482212.481481537 ns/iter |
0.77 |
E2E_Evaluator_jsconfig |
459499.3485991851 ns/iter |
529128.5538599717 ns/iter |
0.87 |
E2E_Evaluator_krakend |
169526.50986238683 ns/iter |
255591.10552559313 ns/iter |
0.66 |
E2E_Evaluator_lazygit |
123710.42258990207 ns/iter |
215309.52217842644 ns/iter |
0.57 |
E2E_Evaluator_lerna |
137059.2365692599 ns/iter |
205416.92548897298 ns/iter |
0.67 |
E2E_Evaluator_nest_cli |
156022.51255678904 ns/iter |
235371.92062983324 ns/iter |
0.66 |
E2E_Evaluator_omc |
21997.772324085025 ns/iter |
25770.24330070349 ns/iter |
0.85 |
E2E_Evaluator_omnisharp |
528981.0409999518 ns/iter |
784426.3003575996 ns/iter |
0.67 |
E2E_Evaluator_openapi |
11834142.065574687 ns/iter |
13856834.033899141 ns/iter |
0.85 |
E2E_Evaluator_pre_commit_hooks |
527483.091154584 ns/iter |
636842.3011456727 ns/iter |
0.83 |
E2E_Evaluator_pulumi |
809822.3877118086 ns/iter |
975972.1132812278 ns/iter |
0.83 |
E2E_Evaluator_semantic_release |
124879.49818754158 ns/iter |
143623.1258373371 ns/iter |
0.87 |
E2E_Evaluator_stale |
158627.0350913205 ns/iter |
207332.44186645973 ns/iter |
0.77 |
E2E_Evaluator_stylecop |
242301.42076315335 ns/iter |
351615.3023381987 ns/iter |
0.69 |
E2E_Evaluator_tmuxinator |
88142.66386456591 ns/iter |
140905.7018053907 ns/iter |
0.63 |
E2E_Evaluator_ui5 |
465338.5525400297 ns/iter |
669782.5802920402 ns/iter |
0.69 |
E2E_Evaluator_ui5_manifest |
2411641.9999999763 ns/iter |
3403083.335293853 ns/iter |
0.71 |
E2E_Evaluator_unreal_engine_uproject |
398037.28931924806 ns/iter |
550175.4169999913 ns/iter |
0.72 |
E2E_Evaluator_vercel |
265693.1910984314 ns/iter |
489472.4462365526 ns/iter |
0.54 |
E2E_Evaluator_yamllint |
14334.499868559047 ns/iter |
19453.80604283097 ns/iter |
0.74 |
Micro_Draft4_Meta_1_No_Callback |
209.9614149765326 ns/iter |
261.06511168629174 ns/iter |
0.80 |
Micro_Draft4_Required_Properties |
931.4379760525585 ns/iter |
1107.6249938240771 ns/iter |
0.84 |
Micro_Draft4_Many_Optional_Properties_Minimal_Match |
28.529431990095233 ns/iter |
39.615457729400774 ns/iter |
0.72 |
Micro_Draft4_Few_Optional_Properties_Minimal_Match |
15.472836077032767 ns/iter |
19.26138696420455 ns/iter |
0.80 |
Micro_Draft4_Items_Schema |
538.0833340000208 ns/iter |
758.5830191685237 ns/iter |
0.71 |
Micro_Draft4_Nested_Object |
3.542226790039663 ns/iter |
5.706935410000824 ns/iter |
0.62 |
Micro_Draft4_Properties_Triad_Optional |
309.8666655165908 ns/iter |
432.1958150652359 ns/iter |
0.72 |
Micro_Draft4_Properties_Triad_Closed |
239.36744688425262 ns/iter |
429.3180677413345 ns/iter |
0.56 |
Micro_Draft4_Properties_Triad_Required |
328.22604428939167 ns/iter |
555.1959590000024 ns/iter |
0.59 |
Micro_Draft4_Properties_Closed |
61.77063313642019 ns/iter |
80.11937351311137 ns/iter |
0.77 |
Micro_Draft4_Non_Recursive_Ref |
25.383465550789015 ns/iter |
33.37016875911202 ns/iter |
0.76 |
Micro_Draft4_Pattern_Properties_True |
169.00350420557206 ns/iter |
256.2273765857061 ns/iter |
0.66 |
Micro_Draft4_Ref_To_Single_Property |
12.823499014728757 ns/iter |
20.590917471727796 ns/iter |
0.62 |
Micro_Draft4_Additional_Properties_Type |
50.86323750000474 ns/iter |
82.40188050017186 ns/iter |
0.62 |
Micro_Draft4_Nested_Oneof |
64.28119012753231 ns/iter |
81.25293360195938 ns/iter |
0.79 |
Micro_Draft4_Short_Enum |
10.861928995436552 ns/iter |
15.316028977787534 ns/iter |
0.71 |
Micro_Draft4_Long_Enum |
17.22951740733971 ns/iter |
18.28234554069681 ns/iter |
0.94 |
Micro_Draft4_Long_Enum_Short_Strings |
11.196809237265787 ns/iter |
14.364900858673463 ns/iter |
0.78 |
Micro_Draft4_Type_Object |
6.769876807809809 ns/iter |
6.710164810776298 ns/iter |
1.01 |
Micro_Draft4_Ref_Single_100 |
2551659.9323308705 ns/iter |
2396450.8989900006 ns/iter |
1.06 |
Micro_Draft4_Compile_Ref_Many_Nested |
1831293.8578946472 ns/iter |
1752791.7590088919 ns/iter |
1.04 |
Micro_Draft4_Compile_Wrap |
2924912.67123296 ns/iter |
2718258.540983429 ns/iter |
1.08 |
Micro_Draft6_Property_Names |
137.24925860416857 ns/iter |
120.79050076362563 ns/iter |
1.14 |
Micro_Draft7_If_Then_Else |
32.529889600004935 ns/iter |
42.779312661987674 ns/iter |
0.76 |
Micro_2019_09_Unevaluated_Properties |
42.59371295888709 ns/iter |
57.52803737783117 ns/iter |
0.74 |
Micro_2019_09_Compile_Wrap |
402221062.4999616 ns/iter |
581055834.0000398 ns/iter |
0.69 |
Micro_2019_09_KrakenD_Linter_Check |
1020547332.9999677 ns/iter |
1416448040.9999669 ns/iter |
0.72 |
Micro_2019_09_KrakenD_Linter_Apply |
8383593958.000006 ns/iter |
10762763833.999998 ns/iter |
0.78 |
Micro_2020_12_Dynamic_Ref |
309.8855338067684 ns/iter |
328.57841458294365 ns/iter |
0.94 |
Micro_2020_12_Dynamic_Ref_Single |
7.820937479606645 ns/iter |
7.772642201053442 ns/iter |
1.01 |
Micro_2020_12_Simple_Output_Mask |
188550.44541854344 ns/iter |
187986.1664008301 ns/iter |
1.00 |
Micro_2020_12_Simple_Output_Annotations |
178282.88476118702 ns/iter |
213147.3304163191 ns/iter |
0.84 |
Micro_2020_12_Compile_NonCircular_Shared_Refs |
964471.3263156745 ns/iter |
1174647.304236246 ns/iter |
0.82 |
This comment was automatically generated by workflow using github-action-benchmark.
3d90c63 to
92fe984
Compare
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
92fe984 to
83f2d8b
Compare
jsonschema.jsonjsonschema.json
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 9d1b5e6 | Previous: ce2165f | Ratio |
|---|---|---|---|
E2E_Compiler_adaptivecard |
60618589.00000061 ns/iter |
61710783.699999176 ns/iter |
0.98 |
E2E_Compiler_ansible_meta |
26620306.653844986 ns/iter |
26283812.407406777 ns/iter |
1.01 |
E2E_Compiler_aws_cdk |
460519.39866667154 ns/iter |
459336.18253446504 ns/iter |
1.00 |
E2E_Compiler_babelrc |
2491933.715302465 ns/iter |
2489485.8014184716 ns/iter |
1.00 |
E2E_Compiler_clang_format |
16912473.53658571 ns/iter |
17320933.59999993 ns/iter |
0.98 |
E2E_Compiler_cmake_presets |
24614827.46428447 ns/iter |
24785188.0714275 ns/iter |
0.99 |
E2E_Compiler_code_climate |
2462063.870175251 ns/iter |
2466458.295774793 ns/iter |
1.00 |
E2E_Compiler_cql2 |
12463915.210527206 ns/iter |
12410589.000000386 ns/iter |
1.00 |
E2E_Compiler_cspell |
21869117.65624977 ns/iter |
21629382.156248767 ns/iter |
1.01 |
E2E_Compiler_cypress |
3866452.7032966404 ns/iter |
3814341.092391175 ns/iter |
1.01 |
E2E_Compiler_deno |
7309000.3750001155 ns/iter |
7250328.906250066 ns/iter |
1.01 |
E2E_Compiler_dependabot |
3717078.36170227 ns/iter |
3707760.9052630574 ns/iter |
1.00 |
E2E_Compiler_draft_04 |
2593366.2999999863 ns/iter |
2593283.335793255 ns/iter |
1.00 |
E2E_Compiler_fabric_mod |
4504913.8193550585 ns/iter |
4506612.412903025 ns/iter |
1.00 |
E2E_Compiler_geojson |
20817050.058824677 ns/iter |
21460502.090908933 ns/iter |
0.97 |
E2E_Compiler_gitpod_configuration |
4640642.874172297 ns/iter |
4628537.331125741 ns/iter |
1.00 |
E2E_Compiler_helm_chart_lock |
771859.2563256287 ns/iter |
764228.9408543175 ns/iter |
1.01 |
E2E_Compiler_importmap |
380164.6051780051 ns/iter |
376456.1235894518 ns/iter |
1.01 |
E2E_Compiler_jasmine |
1366908.4765625116 ns/iter |
1367772.5941746961 ns/iter |
1.00 |
E2E_Compiler_jshintrc |
4177790.8809524975 ns/iter |
4174150.7380951336 ns/iter |
1.00 |
E2E_Compiler_jsconfig |
20218598.94285691 ns/iter |
20297969.37142854 ns/iter |
1.00 |
E2E_Compiler_krakend |
139544950.7999956 ns/iter |
153871122.39999396 ns/iter |
0.91 |
E2E_Compiler_lazygit |
30857473.65217319 ns/iter |
32291906.090909544 ns/iter |
0.96 |
E2E_Compiler_lerna |
1595114.477168961 ns/iter |
1600635.3958809746 ns/iter |
1.00 |
E2E_Compiler_nest_cli |
6915269.450980291 ns/iter |
6940409.514851522 ns/iter |
1.00 |
E2E_Compiler_omc |
144687067.79999822 ns/iter |
159008599.00000343 ns/iter |
0.91 |
E2E_Compiler_omnisharp |
6310085.315315698 ns/iter |
6336612.981981858 ns/iter |
1.00 |
E2E_Compiler_openapi |
23381243.933332976 ns/iter |
23923245.482759003 ns/iter |
0.98 |
E2E_Compiler_pre_commit_hooks |
4962562.156028399 ns/iter |
4997103.907142884 ns/iter |
0.99 |
E2E_Compiler_pulumi |
3843438.595628453 ns/iter |
3839609.120218558 ns/iter |
1.00 |
E2E_Compiler_semantic_release |
1558263.9066667524 ns/iter |
1555516.0111357975 ns/iter |
1.00 |
E2E_Compiler_stale |
1539639.7819384045 ns/iter |
1542096.5241228142 ns/iter |
1.00 |
E2E_Compiler_stylecop |
5748562.717741838 ns/iter |
5679324.491935283 ns/iter |
1.01 |
E2E_Compiler_tmuxinator |
1915083.8027396637 ns/iter |
1931102.8099174013 ns/iter |
0.99 |
E2E_Compiler_ui5 |
46125882.66666459 ns/iter |
47277253.93333154 ns/iter |
0.98 |
E2E_Compiler_ui5_manifest |
301717771.9999893 ns/iter |
329686710.0000043 ns/iter |
0.92 |
E2E_Compiler_unreal_engine_uproject |
4320558.290123629 ns/iter |
4341494.018633258 ns/iter |
1.00 |
E2E_Compiler_vercel |
12295017.122807039 ns/iter |
12449965.91228137 ns/iter |
0.99 |
E2E_Compiler_yamllint |
434352.63900931797 ns/iter |
433305.4588235444 ns/iter |
1.00 |
E2E_Evaluator_adaptivecard |
36041.49370733698 ns/iter |
36307.66493425469 ns/iter |
0.99 |
E2E_Evaluator_ansible_meta |
313791.1883607421 ns/iter |
312023.01060538925 ns/iter |
1.01 |
E2E_Evaluator_aws_cdk |
74596.96339897686 ns/iter |
75444.02138868342 ns/iter |
0.99 |
E2E_Evaluator_babelrc |
153563.0689200988 ns/iter |
153232.1102669875 ns/iter |
1.00 |
E2E_Evaluator_cerebrum_criminal_case |
1644887.6162790617 ns/iter |
1659790.637469516 ns/iter |
0.99 |
E2E_Evaluator_clang_format |
139039.08393865707 ns/iter |
138849.81156530403 ns/iter |
1.00 |
E2E_Evaluator_cmake_presets |
5376088.184615704 ns/iter |
5654550.439655184 ns/iter |
0.95 |
E2E_Evaluator_code_climate |
279982.5458567881 ns/iter |
277317.2838428036 ns/iter |
1.01 |
E2E_Evaluator_cql2 |
310824.3351111166 ns/iter |
308222.69837883144 ns/iter |
1.01 |
E2E_Evaluator_cspell |
723834.5294725939 ns/iter |
726437.5124999962 ns/iter |
1.00 |
E2E_Evaluator_cypress |
234367.70556850516 ns/iter |
233646.4585987204 ns/iter |
1.00 |
E2E_Evaluator_deno |
393425.63376331475 ns/iter |
393819.5073696359 ns/iter |
1.00 |
E2E_Evaluator_dependabot |
580973.5333883151 ns/iter |
578481.9298679697 ns/iter |
1.00 |
E2E_Evaluator_draft_04 |
8946130.961038461 ns/iter |
10092426.66666655 ns/iter |
0.89 |
E2E_Evaluator_fabric_mod |
922779.8797385232 ns/iter |
922182.7663185438 ns/iter |
1.00 |
E2E_Evaluator_geojson |
30416535.956520796 ns/iter |
31099161.000000823 ns/iter |
0.98 |
E2E_Evaluator_gitpod_configuration |
305719.3072527298 ns/iter |
308346.00575476506 ns/iter |
0.99 |
E2E_Evaluator_helm_chart_lock |
454117.2695035684 ns/iter |
462724.89157412783 ns/iter |
0.98 |
E2E_Evaluator_importmap |
68348.8458795149 ns/iter |
68142.43998030426 ns/iter |
1.00 |
E2E_Evaluator_jasmine |
169960.44846865133 ns/iter |
168552.0413143346 ns/iter |
1.01 |
E2E_Evaluator_jshintrc |
1311366.5834896502 ns/iter |
1317251.1186441518 ns/iter |
1.00 |
E2E_Evaluator_jsconfig |
525896.1816816846 ns/iter |
525688.9654395217 ns/iter |
1.00 |
E2E_Evaluator_krakend |
260491.33667408043 ns/iter |
266224.21144372347 ns/iter |
0.98 |
E2E_Evaluator_lazygit |
179003.33968580593 ns/iter |
179502.85940291305 ns/iter |
1.00 |
E2E_Evaluator_lerna |
208006.79788484107 ns/iter |
207090.8833087187 ns/iter |
1.00 |
E2E_Evaluator_nest_cli |
251841.16409889626 ns/iter |
252863.6917346642 ns/iter |
1.00 |
E2E_Evaluator_omc |
27679.524182902107 ns/iter |
28542.116667331393 ns/iter |
0.97 |
E2E_Evaluator_omnisharp |
718420.6311475852 ns/iter |
721345.1216769036 ns/iter |
1.00 |
E2E_Evaluator_openapi |
14584122.76595704 ns/iter |
17723420.87179496 ns/iter |
0.82 |
E2E_Evaluator_pre_commit_hooks |
597247.243174058 ns/iter |
602059.525278467 ns/iter |
0.99 |
E2E_Evaluator_pulumi |
875404.8149068372 ns/iter |
873871.5244055057 ns/iter |
1.00 |
E2E_Evaluator_semantic_release |
141226.66869794656 ns/iter |
141482.55859847437 ns/iter |
1.00 |
E2E_Evaluator_stale |
206871.9266328694 ns/iter |
208391.7164134702 ns/iter |
0.99 |
E2E_Evaluator_stylecop |
360374.36773857207 ns/iter |
361844.4834196889 ns/iter |
1.00 |
E2E_Evaluator_tmuxinator |
135445.38065882865 ns/iter |
136131.35204474887 ns/iter |
0.99 |
E2E_Evaluator_ui5 |
690260.194637527 ns/iter |
696318.490019951 ns/iter |
0.99 |
E2E_Evaluator_ui5_manifest |
3436646.267326942 ns/iter |
4323236.296296386 ns/iter |
0.79 |
E2E_Evaluator_unreal_engine_uproject |
543668.9729938164 ns/iter |
541923.1303668865 ns/iter |
1.00 |
E2E_Evaluator_vercel |
386025.74889382086 ns/iter |
389180.0579387189 ns/iter |
0.99 |
E2E_Evaluator_yamllint |
18280.20633296761 ns/iter |
18166.688984993645 ns/iter |
1.01 |
Micro_Draft4_Meta_1_No_Callback |
257.37065034546004 ns/iter |
257.66665585921317 ns/iter |
1.00 |
Micro_Draft4_Required_Properties |
1157.234697898399 ns/iter |
1146.9994376227853 ns/iter |
1.01 |
Micro_Draft4_Many_Optional_Properties_Minimal_Match |
31.73921351202148 ns/iter |
31.74654426417937 ns/iter |
1.00 |
Micro_Draft4_Few_Optional_Properties_Minimal_Match |
19.947904188993704 ns/iter |
19.927689235485104 ns/iter |
1.00 |
Micro_Draft4_Items_Schema |
650.326152195034 ns/iter |
643.4697704923994 ns/iter |
1.01 |
Micro_Draft4_Nested_Object |
3.108228344896242 ns/iter |
3.1078232473250806 ns/iter |
1.00 |
Micro_Draft4_Properties_Triad_Optional |
388.5997500058316 ns/iter |
388.47522725996515 ns/iter |
1.00 |
Micro_Draft4_Properties_Triad_Closed |
323.8820316834943 ns/iter |
321.0690468696627 ns/iter |
1.01 |
Micro_Draft4_Properties_Triad_Required |
438.57356901665463 ns/iter |
435.7284466074228 ns/iter |
1.01 |
Micro_Draft4_Properties_Closed |
79.02300013860484 ns/iter |
79.1900900510453 ns/iter |
1.00 |
Micro_Draft4_Non_Recursive_Ref |
31.928285757458244 ns/iter |
31.98943272583125 ns/iter |
1.00 |
Micro_Draft4_Pattern_Properties_True |
268.0310495710489 ns/iter |
267.729760339982 ns/iter |
1.00 |
Micro_Draft4_Ref_To_Single_Property |
19.937587131358157 ns/iter |
19.92678284963536 ns/iter |
1.00 |
Micro_Draft4_Additional_Properties_Type |
60.00772909566696 ns/iter |
59.940150247302924 ns/iter |
1.00 |
Micro_Draft4_Nested_Oneof |
88.6871805862528 ns/iter |
88.79352255642566 ns/iter |
1.00 |
Micro_Draft4_Short_Enum |
15.295399648777908 ns/iter |
15.051326801560972 ns/iter |
1.02 |
Micro_Draft4_Long_Enum |
18.98792541104691 ns/iter |
19.47356850337113 ns/iter |
0.98 |
Micro_Draft4_Long_Enum_Short_Strings |
15.250183868054654 ns/iter |
15.127441541618607 ns/iter |
1.01 |
Micro_Draft4_Type_Object |
8.400384135465027 ns/iter |
8.402979781186733 ns/iter |
1.00 |
Micro_Draft4_Ref_Single_100 |
2390778.3424658566 ns/iter |
2375842.213559273 ns/iter |
1.01 |
Micro_Draft4_Compile_Ref_Many_Nested |
1783145.8091602998 ns/iter |
1772832.0606060417 ns/iter |
1.01 |
Micro_Draft4_Compile_Wrap |
2336293.473333247 ns/iter |
2317083.366666755 ns/iter |
1.01 |
Micro_Draft6_Property_Names |
116.89267528554717 ns/iter |
116.94751306945376 ns/iter |
1.00 |
Micro_Draft7_If_Then_Else |
39.82726486725117 ns/iter |
39.83061635391604 ns/iter |
1.00 |
Micro_2019_09_Unevaluated_Properties |
52.67973601478684 ns/iter |
56.30722816198104 ns/iter |
0.94 |
Micro_2019_09_Compile_Wrap |
267279025.66665307 ns/iter |
301953920.00001675 ns/iter |
0.89 |
Micro_2019_09_KrakenD_Linter_Check |
1228880079.000021 ns/iter |
1237307645.9999766 ns/iter |
0.99 |
Micro_2019_09_KrakenD_Linter_Apply |
10860121620.000029 ns/iter |
11230766044.999996 ns/iter |
0.97 |
Micro_2020_12_Dynamic_Ref |
359.44748171784045 ns/iter |
361.69236093094895 ns/iter |
0.99 |
Micro_2020_12_Dynamic_Ref_Single |
8.398438690597716 ns/iter |
8.465872182958359 ns/iter |
0.99 |
Micro_2020_12_Simple_Output_Mask |
143554.84929006046 ns/iter |
140646.93761248398 ns/iter |
1.02 |
Micro_2020_12_Simple_Output_Annotations |
168736.12049358943 ns/iter |
169479.86008624313 ns/iter |
1.00 |
Micro_2020_12_Compile_NonCircular_Shared_Refs |
1065198.191489409 ns/iter |
1067569.2955589672 ns/iter |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
🤖 Augment PR SummarySummary: This PR adds first-class dependency management to Blaze’s Changes:
Technical Notes: Fetching emits start/end events for fetch/bundle/write/verify steps and uses content hashing to detect drift versus the lock file. 🤖 Was this summary useful? React with 👍 or 👎 |
There was a problem hiding this comment.
5 issues found across 20 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="test/configuration/configuration_fetch_frozen_test.cc">
<violation number="1" location="test/configuration/configuration_fetch_frozen_test.cc:371">
P2: These tests rely on the iteration order of `dependencies` (which is `std::unordered_map`), making them flaky. `Configuration::fetch` iterates over dependencies in a non-deterministic order, so the order of emitted events and their `index` property will vary.
For example, `dry_run_all_status_types` (line 460) tries to handle this with an `if/else` block but only covers 2 of the 24 possible permutations (4!). Tests like `dry_run_multiple_mixed_results` and `dry_run_multiple_with_untracked_and_missing` assert a strict order, which will eventually fail.
Recommended fix: Sort the dependencies by URI in `Configuration::fetch` to ensure deterministic execution order, or update the tests to be order-independent.</violation>
</file>
<file name="src/configuration/fetch.cc">
<violation number="1" location="src/configuration/fetch.cc:16">
P2: MD5 is a weak hashing algorithm susceptible to collision attacks. For dependency locking/verification, SHA-256 is the industry standard to prevent malicious substitution.</violation>
</file>
<file name="src/configuration/include/sourcemeta/blaze/configuration.h">
<violation number="1" location="src/configuration/include/sourcemeta/blaze/configuration.h:24">
P2: Incorrect include comment: `std::size_t` is defined in `<cstddef>`, not `<cstdint>`. Either add `#include <cstddef>` or correct the comment to only mention `std::uint8_t`.</violation>
</file>
<file name="src/configuration/lock.cc">
<violation number="1" location="src/configuration/lock.cc:144">
P2: Iteration over `std::unordered_map` produces non-deterministic order in the generated JSON. Since `JSONObject` preserves insertion order, the resulting lock file will have keys in random order, leading to merge conflicts and unstable file contents.
Sort the entries by key before serializing to ensure deterministic output.</violation>
</file>
<file name="test/configuration/configuration_lock_parse_v1_test.cc">
<violation number="1" location="test/configuration/configuration_lock_parse_v1_test.cc:25">
P2: The test uses hardcoded Unix-style absolute paths. On Windows, `std::filesystem::path::is_absolute("/absolute/...")` returns false, causing the test to fail with "The lock file dependency entry path must be absolute".
Use `std::filesystem::absolute` or a platform-independent way to construct valid absolute paths for the test data (e.g., dynamically constructing the JSON string or object).</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/gcc)
Details
| Benchmark suite | Current: 9d1b5e6 | Previous: ce2165f | Ratio |
|---|---|---|---|
Micro_2020_12_Dynamic_Ref |
467.00460424541524 ns/iter |
453.855624547453 ns/iter |
1.03 |
Micro_2020_12_Dynamic_Ref_Single |
9.280659197754364 ns/iter |
9.274128674598407 ns/iter |
1.00 |
Micro_2020_12_Simple_Output_Mask |
136514.14307841638 ns/iter |
136800.80023116156 ns/iter |
1.00 |
Micro_2020_12_Simple_Output_Annotations |
173182.65539534565 ns/iter |
171921.71642157776 ns/iter |
1.01 |
Micro_2020_12_Compile_NonCircular_Shared_Refs |
1235306.1408450876 ns/iter |
1224836.8807018108 ns/iter |
1.01 |
Micro_2019_09_Unevaluated_Properties |
46.66087415251604 ns/iter |
46.93441291861866 ns/iter |
0.99 |
Micro_2019_09_Compile_Wrap |
319077744.5000208 ns/iter |
334360493.00001967 ns/iter |
0.95 |
Micro_2019_09_KrakenD_Linter_Check |
1303818000.9999678 ns/iter |
1309217032.9999816 ns/iter |
1.00 |
Micro_2019_09_KrakenD_Linter_Apply |
11600134677.999905 ns/iter |
10861429610.000072 ns/iter |
1.07 |
Micro_Draft7_If_Then_Else |
45.590742061500364 ns/iter |
45.689303719847686 ns/iter |
1.00 |
Micro_Draft6_Property_Names |
162.31455624219439 ns/iter |
162.10551942299583 ns/iter |
1.00 |
Micro_Draft4_Meta_1_No_Callback |
221.58910755186633 ns/iter |
221.94640412868588 ns/iter |
1.00 |
Micro_Draft4_Required_Properties |
796.8073794796409 ns/iter |
792.748665980995 ns/iter |
1.01 |
Micro_Draft4_Many_Optional_Properties_Minimal_Match |
27.316308511614512 ns/iter |
27.291302972491614 ns/iter |
1.00 |
Micro_Draft4_Few_Optional_Properties_Minimal_Match |
16.919909190996268 ns/iter |
16.935162249709197 ns/iter |
1.00 |
Micro_Draft4_Items_Schema |
536.2492773206609 ns/iter |
524.177627278694 ns/iter |
1.02 |
Micro_Draft4_Nested_Object |
3.2945626003259623 ns/iter |
3.2906581638076764 ns/iter |
1.00 |
Micro_Draft4_Properties_Triad_Optional |
472.08012240383647 ns/iter |
615.2297017399675 ns/iter |
0.77 |
Micro_Draft4_Properties_Triad_Closed |
411.62386957322786 ns/iter |
472.77424310890734 ns/iter |
0.87 |
Micro_Draft4_Properties_Triad_Required |
514.8321025728122 ns/iter |
598.4273855858738 ns/iter |
0.86 |
Micro_Draft4_Properties_Closed |
70.28417205566574 ns/iter |
70.3061186675105 ns/iter |
1.00 |
Micro_Draft4_Non_Recursive_Ref |
14.119511948898085 ns/iter |
14.122768053207896 ns/iter |
1.00 |
Micro_Draft4_Pattern_Properties_True |
240.38859381787748 ns/iter |
240.0626537121159 ns/iter |
1.00 |
Micro_Draft4_Ref_To_Single_Property |
16.9014432951995 ns/iter |
16.92975184467246 ns/iter |
1.00 |
Micro_Draft4_Additional_Properties_Type |
19.139546939086575 ns/iter |
19.14959064740989 ns/iter |
1.00 |
Micro_Draft4_Nested_Oneof |
111.9039136519717 ns/iter |
111.75645040226816 ns/iter |
1.00 |
Micro_Draft4_Short_Enum |
17.794589331528858 ns/iter |
17.844105826178847 ns/iter |
1.00 |
Micro_Draft4_Long_Enum |
19.3738791380896 ns/iter |
19.476077803859162 ns/iter |
0.99 |
Micro_Draft4_Long_Enum_Short_Strings |
18.056988161581423 ns/iter |
17.790920805989636 ns/iter |
1.01 |
Micro_Draft4_Type_Object |
9.306234455613907 ns/iter |
9.288455096570786 ns/iter |
1.00 |
Micro_Draft4_Ref_Single_100 |
2574753.0811809306 ns/iter |
2569401.2380953385 ns/iter |
1.00 |
Micro_Draft4_Compile_Ref_Many_Nested |
1915435.000000175 ns/iter |
1897174.7351352444 ns/iter |
1.01 |
Micro_Draft4_Compile_Wrap |
2612748.5333332787 ns/iter |
2586433.0147599895 ns/iter |
1.01 |
E2E_Compiler_adaptivecard |
73001554.60000041 ns/iter |
71272145.77777371 ns/iter |
1.02 |
E2E_Compiler_ansible_meta |
30739921.391302787 ns/iter |
30102581.347824015 ns/iter |
1.02 |
E2E_Compiler_aws_cdk |
522578.84494384204 ns/iter |
519049.79422646936 ns/iter |
1.01 |
E2E_Compiler_babelrc |
2988105.077551321 ns/iter |
2841745.589431112 ns/iter |
1.05 |
E2E_Compiler_clang_format |
19657476.916664664 ns/iter |
19533988.88888892 ns/iter |
1.01 |
E2E_Compiler_cmake_presets |
27697855.320002418 ns/iter |
27603916.4399981 ns/iter |
1.00 |
E2E_Compiler_code_climate |
2888362.0081633497 ns/iter |
2855762.404858239 ns/iter |
1.01 |
E2E_Compiler_cql2 |
14278811.95918556 ns/iter |
14601741.723404204 ns/iter |
0.98 |
E2E_Compiler_cspell |
24340018.482760195 ns/iter |
24159538.517241783 ns/iter |
1.01 |
E2E_Compiler_cypress |
4298188.165644568 ns/iter |
4218940.921212131 ns/iter |
1.02 |
E2E_Compiler_deno |
8318053.285713794 ns/iter |
8342373.91666734 ns/iter |
1.00 |
E2E_Compiler_dependabot |
4330333.722222164 ns/iter |
4325006.166666692 ns/iter |
1.00 |
E2E_Compiler_draft_04 |
3017548.3073595758 ns/iter |
3002381.6336206086 ns/iter |
1.01 |
E2E_Compiler_fabric_mod |
5209238.674073849 ns/iter |
5149970.808823375 ns/iter |
1.01 |
E2E_Compiler_geojson |
24156440.58620775 ns/iter |
24617475.896551978 ns/iter |
0.98 |
E2E_Compiler_gitpod_configuration |
5360138.184614873 ns/iter |
5381694.46969653 ns/iter |
1.00 |
E2E_Compiler_helm_chart_lock |
852879.1931541362 ns/iter |
849594.4667473208 ns/iter |
1.00 |
E2E_Compiler_importmap |
421957.0307228938 ns/iter |
422916.2243667452 ns/iter |
1.00 |
E2E_Compiler_jasmine |
1555449.942222064 ns/iter |
1552003.9292034872 ns/iter |
1.00 |
E2E_Compiler_jshintrc |
4807880.60958917 ns/iter |
4822052.958904151 ns/iter |
1.00 |
E2E_Compiler_jsconfig |
23162729.933331624 ns/iter |
23234523.600001466 ns/iter |
1.00 |
E2E_Compiler_krakend |
161436002.75000834 ns/iter |
162769626.74999142 ns/iter |
0.99 |
E2E_Compiler_lazygit |
35661093.95000012 ns/iter |
36495813.94737006 ns/iter |
0.98 |
E2E_Compiler_lerna |
1851127.402116338 ns/iter |
1827205.2434553504 ns/iter |
1.01 |
E2E_Compiler_nest_cli |
8049325.655172485 ns/iter |
8035074.252874458 ns/iter |
1.00 |
E2E_Compiler_omc |
172091434.50000396 ns/iter |
175768098.49998653 ns/iter |
0.98 |
E2E_Compiler_omnisharp |
7293947.770833142 ns/iter |
7264592.814433001 ns/iter |
1.00 |
E2E_Compiler_openapi |
27135314.34615281 ns/iter |
27006086.115385678 ns/iter |
1.00 |
E2E_Compiler_pre_commit_hooks |
5740374.729507717 ns/iter |
5693292.950819587 ns/iter |
1.01 |
E2E_Compiler_pulumi |
4447579.943037516 ns/iter |
4440010.424050947 ns/iter |
1.00 |
E2E_Compiler_semantic_release |
1794867.9076924305 ns/iter |
1777115.5215190377 ns/iter |
1.01 |
E2E_Compiler_stale |
1747886.8746866398 ns/iter |
1735801.170792008 ns/iter |
1.01 |
E2E_Compiler_stylecop |
6307799.4414415285 ns/iter |
6294037.351351419 ns/iter |
1.00 |
E2E_Compiler_tmuxinator |
2214886.4430382415 ns/iter |
2213703.5786163067 ns/iter |
1.00 |
E2E_Compiler_ui5 |
51006162.21428871 ns/iter |
51465587.083337516 ns/iter |
0.99 |
E2E_Compiler_ui5_manifest |
343396724.00000155 ns/iter |
351627945.49995625 ns/iter |
0.98 |
E2E_Compiler_unreal_engine_uproject |
4948164.585714007 ns/iter |
4990030.191489102 ns/iter |
0.99 |
E2E_Compiler_vercel |
13480151.903846804 ns/iter |
13667900.13999889 ns/iter |
0.99 |
E2E_Compiler_yamllint |
484363.272160643 ns/iter |
482377.6694214308 ns/iter |
1.00 |
E2E_Evaluator_adaptivecard |
33340.2385150617 ns/iter |
30584.206668110088 ns/iter |
1.09 |
E2E_Evaluator_ansible_meta |
298495.8904923845 ns/iter |
292951.8782609267 ns/iter |
1.02 |
E2E_Evaluator_aws_cdk |
58702.18921873804 ns/iter |
59449.642004980364 ns/iter |
0.99 |
E2E_Evaluator_babelrc |
134102.8157396996 ns/iter |
133743.42455936468 ns/iter |
1.00 |
E2E_Evaluator_cerebrum_criminal_case |
1433163.493801703 ns/iter |
1454821.0266937092 ns/iter |
0.99 |
E2E_Evaluator_clang_format |
109164.56870110099 ns/iter |
107679.80719003124 ns/iter |
1.01 |
E2E_Evaluator_cmake_presets |
5478182.953124744 ns/iter |
6320072.688071661 ns/iter |
0.87 |
E2E_Evaluator_code_climate |
232912.56723796108 ns/iter |
231411.9412734641 ns/iter |
1.01 |
E2E_Evaluator_cql2 |
317750.1638674275 ns/iter |
308221.0431908773 ns/iter |
1.03 |
E2E_Evaluator_cspell |
645702.8828412932 ns/iter |
644014.6867469954 ns/iter |
1.00 |
E2E_Evaluator_cypress |
177160.03262518923 ns/iter |
176916.1513994632 ns/iter |
1.00 |
E2E_Evaluator_deno |
358215.5030487712 ns/iter |
356329.81804202014 ns/iter |
1.01 |
E2E_Evaluator_dependabot |
495592.5594555587 ns/iter |
495204.38395421434 ns/iter |
1.00 |
E2E_Evaluator_draft_04 |
8863744.987500865 ns/iter |
9265475.906665113 ns/iter |
0.96 |
E2E_Evaluator_fabric_mod |
922449.8227684632 ns/iter |
910828.2629534074 ns/iter |
1.01 |
E2E_Evaluator_geojson |
26484725.666663237 ns/iter |
26674137.962960165 ns/iter |
0.99 |
E2E_Evaluator_gitpod_configuration |
277941.5534716263 ns/iter |
278381.7067460231 ns/iter |
1.00 |
E2E_Evaluator_helm_chart_lock |
347658.6524090395 ns/iter |
339995.7175792937 ns/iter |
1.02 |
E2E_Evaluator_importmap |
58060.09550372051 ns/iter |
57730.26335626835 ns/iter |
1.01 |
E2E_Evaluator_jasmine |
140785.98207173587 ns/iter |
141014.01457666702 ns/iter |
1.00 |
E2E_Evaluator_jshintrc |
1004817.4595378357 ns/iter |
1009805.1206896266 ns/iter |
1.00 |
E2E_Evaluator_jsconfig |
470799.6422817912 ns/iter |
471934.7696439878 ns/iter |
1.00 |
E2E_Evaluator_krakend |
231838.29879270433 ns/iter |
227520.5981278569 ns/iter |
1.02 |
E2E_Evaluator_lazygit |
168390.50204178577 ns/iter |
161421.57575756445 ns/iter |
1.04 |
E2E_Evaluator_lerna |
149254.46980727647 ns/iter |
151907.28312738054 ns/iter |
0.98 |
E2E_Evaluator_nest_cli |
228027.382040553 ns/iter |
228068.4122807319 ns/iter |
1.00 |
E2E_Evaluator_omc |
26573.50351037919 ns/iter |
25815.79821860696 ns/iter |
1.03 |
E2E_Evaluator_omnisharp |
558207.400479632 ns/iter |
553760.3250995816 ns/iter |
1.01 |
E2E_Evaluator_openapi |
13941568.568627331 ns/iter |
14884494.957447927 ns/iter |
0.94 |
E2E_Evaluator_pre_commit_hooks |
533216.969604852 ns/iter |
534203.9248465813 ns/iter |
1.00 |
E2E_Evaluator_pulumi |
841050.9576273195 ns/iter |
834967.4826761873 ns/iter |
1.01 |
E2E_Evaluator_semantic_release |
137596.23463577888 ns/iter |
135767.99903157537 ns/iter |
1.01 |
E2E_Evaluator_stale |
165765.13078755664 ns/iter |
166852.32664756328 ns/iter |
0.99 |
E2E_Evaluator_stylecop |
339139.9250720481 ns/iter |
339102.30356270046 ns/iter |
1.00 |
E2E_Evaluator_tmuxinator |
126797.52482272567 ns/iter |
129639.7299283429 ns/iter |
0.98 |
E2E_Evaluator_ui5 |
690257.1488763328 ns/iter |
643132.6021998551 ns/iter |
1.07 |
E2E_Evaluator_ui5_manifest |
3165474.2957746577 ns/iter |
3075782.355556132 ns/iter |
1.03 |
E2E_Evaluator_unreal_engine_uproject |
513100.0528602888 ns/iter |
508199.53991291084 ns/iter |
1.01 |
E2E_Evaluator_vercel |
350817.5199203652 ns/iter |
349170.2740554802 ns/iter |
1.00 |
E2E_Evaluator_yamllint |
12844.436737681528 ns/iter |
12867.092307691833 ns/iter |
1.00 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
|
augment review |
|
@cubic-dev-ai review |
@jviotti I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
3 issues found across 20 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="test/configuration/configuration_fetch_frozen_test.cc">
<violation number="1" location="test/configuration/configuration_fetch_frozen_test.cc:481">
P2: Test does not handle all possible orderings of non-deterministic events. The `else` branch assumes `events[0]` is `simple.json`, but `untracked.json` could also be first, causing flaky test failures. Add an explicit check for `untracked.json` as the first event.</violation>
</file>
<file name="src/configuration/lock.cc">
<violation number="1" location="src/configuration/lock.cc:166">
P2: Missing validation: `emplace()` should validate that `path` is absolute to maintain consistency with `from_json()` and the assertion in `to_json()`. A relative path would cause an assertion failure in debug builds or produce invalid lock file content in release builds.</violation>
</file>
<file name="src/configuration/fetch.cc">
<violation number="1" location="src/configuration/fetch.cc:265">
P2: Using `->` on `std::optional` without checking for a value is undefined behavior if the optional is empty. While the logic suggests the entry should exist when `entry_status` is `FileMissing`, consider using `.value()` (which throws on empty) or explicitly checking the optional first for safer code.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
d0ba809 to
c2579ab
Compare
11e7965 to
9d1b5e6
Compare
Signed-off-by: Juan Cruz Viotti jv@jviotti.com