Eliminate unevaluatedProperties behind a single \ branch - #1028
Conversation
Signed-off-by: Vansh <officialbusiness9818@gmail.com>
There was a problem hiding this comment.
1 issue found across 4 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="test/canonicalizer/canonicalizer_2019_09_test.cc">
<violation number="1" location="test/canonicalizer/canonicalizer_2019_09_test.cc:749">
P3: Only the happy path and two negative cases (anyOf target, additionalProperties target) are tested, but the rewrite stays sound only because of several other guard conditions that the PR description explicitly calls out. Add "stays" tests for a target with `required` not fully covered by `properties`, a non-empty `patternProperties`, an in-place applicator such as `items`/`contains`, and a legacy dialect (e.g. draft-04), plus a top-level sibling `unevaluatedItems`. These guard conditions are what prevent the rewrite from corrupting semantics, so leaving them untested hides regressions in exactly the logic this PR exists to add. The rule also applies to 2020-12, so the same cases belong in canonicalizer_2020_12_test.cc.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| CANONICALIZE_AND_VALIDATE(document, expected, compiled_metaschema()); | ||
| } | ||
|
|
||
| TEST(unevaluated_properties_single_ref_to_additional_properties) { |
There was a problem hiding this comment.
P3: Only the happy path and two negative cases (anyOf target, additionalProperties target) are tested, but the rewrite stays sound only because of several other guard conditions that the PR description explicitly calls out. Add "stays" tests for a target with required not fully covered by properties, a non-empty patternProperties, an in-place applicator such as items/contains, and a legacy dialect (e.g. draft-04), plus a top-level sibling unevaluatedItems. These guard conditions are what prevent the rewrite from corrupting semantics, so leaving them untested hides regressions in exactly the logic this PR exists to add. The rule also applies to 2020-12, so the same cases belong in canonicalizer_2020_12_test.cc.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At test/canonicalizer/canonicalizer_2019_09_test.cc, line 749:
<comment>Only the happy path and two negative cases (anyOf target, additionalProperties target) are tested, but the rewrite stays sound only because of several other guard conditions that the PR description explicitly calls out. Add "stays" tests for a target with `required` not fully covered by `properties`, a non-empty `patternProperties`, an in-place applicator such as `items`/`contains`, and a legacy dialect (e.g. draft-04), plus a top-level sibling `unevaluatedItems`. These guard conditions are what prevent the rewrite from corrupting semantics, so leaving them untested hides regressions in exactly the logic this PR exists to add. The rule also applies to 2020-12, so the same cases belong in canonicalizer_2020_12_test.cc.</comment>
<file context>
@@ -746,6 +746,187 @@ TEST(items_implicit_1) {
CANONICALIZE_AND_VALIDATE(document, expected, compiled_metaschema());
}
+TEST(unevaluated_properties_single_ref_to_additional_properties) {
+ auto document = sourcemeta::core::parse_json(R"JSON({
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
</file context>
There was a problem hiding this comment.
Benchmark (macos/llvm)
Details
| Benchmark suite | Current: d818b8b | Previous: 49094a0 | Ratio |
|---|---|---|---|
Schema_Tracker_ISO_Language |
3661199.1853655265 ns/iter |
3898398.746113877 ns/iter |
0.94 |
Schema_Tracker_ISO_Language_To_JSON |
16606819.734691698 ns/iter |
13966395.826921247 ns/iter |
1.19 |
Schema_Frame_WoT_References |
3667971.467980642 ns/iter |
3006915.2031249045 ns/iter |
1.22 |
Schema_Frame_OMC_References |
15975480.916665673 ns/iter |
14316033.323078813 ns/iter |
1.12 |
Schema_Frame_OMC_Pointers |
33893204.695657365 ns/iter |
27812091.346154727 ns/iter |
1.22 |
Schema_Frame_OMC_Locations |
13155449.404762078 ns/iter |
10922380.681818416 ns/iter |
1.20 |
Schema_Frame_ISO_Language_Locations |
36815377.470595516 ns/iter |
30590728.260874484 ns/iter |
1.20 |
Schema_Frame_ISO_Language_Root |
293.14816143919074 ns/iter |
218.30135963303573 ns/iter |
1.34 |
Schema_Frame_KrakenD_References |
27614987.83332665 ns/iter |
20003728.594591282 ns/iter |
1.38 |
Schema_Frame_KrakenD_Reachable |
286473458.5000406 ns/iter |
220804389.33335245 ns/iter |
1.30 |
Schema_Frame_ISO_Language_Locations_To_JSON |
35179249.99999877 ns/iter |
32605276.04166441 ns/iter |
1.08 |
Schema_Frame_Many_Resources_References |
183191416.66665927 ns/iter |
177325266.80001682 ns/iter |
1.03 |
Schema_Frame_Deeply_Nested_References |
19540709.60605901 ns/iter |
16762788.208334692 ns/iter |
1.17 |
Schema_Bundle_Meta_2020_12 |
930583.1088978193 ns/iter |
651770.3481493855 ns/iter |
1.43 |
Schema_Bundle_Many_Remotes_With_Fragments |
12177213.015883397 ns/iter |
7319607.5918345675 ns/iter |
1.66 |
Schema_Format_ISO_Language_To_JSON |
38787041.84615764 ns/iter |
32779859.8636119 ns/iter |
1.18 |
E2E_Compiler_adaptivecard |
58721854.10000838 ns/iter |
37181476.56249471 ns/iter |
1.58 |
E2E_Compiler_ansible_meta |
17758490.071428023 ns/iter |
11782333.955223484 ns/iter |
1.51 |
E2E_Compiler_aws_cdk |
319453.2755659616 ns/iter |
174354.14904455477 ns/iter |
1.83 |
E2E_Compiler_babelrc |
2023475.337531755 ns/iter |
1004459.4208810364 ns/iter |
2.01 |
E2E_Compiler_clang_format |
15493153.656247927 ns/iter |
7319024.92523268 ns/iter |
2.12 |
E2E_Compiler_cmake_presets |
34799659.75000709 ns/iter |
18132069.44444801 ns/iter |
1.92 |
E2E_Compiler_code_climate |
1423371.38084639 ns/iter |
853304.6095744503 ns/iter |
1.67 |
E2E_Compiler_cql2 |
13839008.510205753 ns/iter |
7572579.121213292 ns/iter |
1.83 |
E2E_Compiler_cspell |
21066877.840909954 ns/iter |
15446161.914288886 ns/iter |
1.36 |
E2E_Compiler_cypress |
4434839.820754955 ns/iter |
1916226.027160407 ns/iter |
2.31 |
E2E_Compiler_deno |
8538054.972221844 ns/iter |
3867149.595121524 ns/iter |
2.21 |
E2E_Compiler_dependabot |
3094321.0105631254 ns/iter |
1733003.608225154 ns/iter |
1.79 |
E2E_Compiler_draft_04 |
2253777.476703053 ns/iter |
1465296.5686278264 ns/iter |
1.54 |
E2E_Compiler_fabric_mod |
3746869.442424709 ns/iter |
2362499.1749176555 ns/iter |
1.59 |
E2E_Compiler_geojson |
20414949.083336372 ns/iter |
13548993.945455963 ns/iter |
1.51 |
E2E_Compiler_gitpod_configuration |
3584999.273256958 ns/iter |
2203292.032257534 ns/iter |
1.63 |
E2E_Compiler_helm_chart_lock |
585045.1454033958 ns/iter |
334320.970599546 ns/iter |
1.75 |
E2E_Compiler_importmap |
214080.0389754513 ns/iter |
156205.89663355175 ns/iter |
1.37 |
E2E_Compiler_jasmine |
828399.2348993052 ns/iter |
547017.735204928 ns/iter |
1.51 |
E2E_Compiler_jshintrc |
2177725.649350914 ns/iter |
1593441.6828751895 ns/iter |
1.37 |
E2E_Compiler_jsconfig |
14262348.039214795 ns/iter |
10212384.615384415 ns/iter |
1.40 |
E2E_Compiler_krakend |
124164779.71428971 ns/iter |
81890679.10000177 ns/iter |
1.52 |
E2E_Compiler_lazygit |
27590528.285713844 ns/iter |
19616618.511109766 ns/iter |
1.41 |
E2E_Compiler_lerna |
1146984.2740384506 ns/iter |
816641.6479029745 ns/iter |
1.40 |
E2E_Compiler_nest_cli |
6082489.676189305 ns/iter |
3404827.6596858213 ns/iter |
1.79 |
E2E_Compiler_omc |
156935406.2499997 ns/iter |
95982315.57142104 ns/iter |
1.64 |
E2E_Compiler_omnisharp |
5243514.985611111 ns/iter |
3161300.1302090995 ns/iter |
1.66 |
E2E_Compiler_openapi |
27728344.82758644 ns/iter |
13928161.680000814 ns/iter |
1.99 |
E2E_Compiler_pre_commit_hooks |
2295329.8141893307 ns/iter |
1581207.991803314 ns/iter |
1.45 |
E2E_Compiler_pulumi |
3269618.8118812465 ns/iter |
1819110.0099253394 ns/iter |
1.80 |
E2E_Compiler_semantic_release |
995107.9034482877 ns/iter |
761464.8318583397 ns/iter |
1.31 |
E2E_Compiler_stale |
798134.2191193443 ns/iter |
573410.3483754986 ns/iter |
1.39 |
E2E_Compiler_stylecop |
3632033.0056180484 ns/iter |
2916618.181494686 ns/iter |
1.25 |
E2E_Compiler_tmuxinator |
1083258.669355165 ns/iter |
942575.3943868581 ns/iter |
1.15 |
E2E_Compiler_ui5 |
45086127.4705938 ns/iter |
37460173.210523576 ns/iter |
1.20 |
E2E_Compiler_ui5_manifest |
260758291.99999136 ns/iter |
238118333.33328044 ns/iter |
1.10 |
E2E_Compiler_unreal_engine_uproject |
2483124.564460552 ns/iter |
1946922.8006139097 ns/iter |
1.28 |
E2E_Compiler_users_array |
501305.0426135767 ns/iter |
386046.4907062612 ns/iter |
1.30 |
E2E_Compiler_vercel |
8055469.881189157 ns/iter |
6139858.070312698 ns/iter |
1.31 |
E2E_Compiler_yamllint |
129149.4589386337 ns/iter |
108689.48862908121 ns/iter |
1.19 |
E2E_Evaluator_adaptivecard |
34906.14444919334 ns/iter |
22617.065716663335 ns/iter |
1.54 |
E2E_Evaluator_ansible_meta |
304589.11267606344 ns/iter |
192967.57466814652 ns/iter |
1.58 |
E2E_Evaluator_aws_cdk |
55311.31660000029 ns/iter |
43901.258998188954 ns/iter |
1.26 |
E2E_Evaluator_babelrc |
115365.65012897395 ns/iter |
98747.61658099794 ns/iter |
1.17 |
E2E_Evaluator_cerebrum_criminal_case |
1209414.79353911 ns/iter |
928115.7521577767 ns/iter |
1.30 |
E2E_Evaluator_clang_format |
121870.63167156768 ns/iter |
94126.444595504 ns/iter |
1.29 |
E2E_Evaluator_cmake_presets |
6158653.749998849 ns/iter |
4799457.095237986 ns/iter |
1.28 |
E2E_Evaluator_code_climate |
208098.76380851344 ns/iter |
164265.8548717708 ns/iter |
1.27 |
E2E_Evaluator_cql2 |
216242.5833917796 ns/iter |
155714.9708265592 ns/iter |
1.39 |
E2E_Evaluator_cspell |
695240.3038461888 ns/iter |
564164.5729803233 ns/iter |
1.23 |
E2E_Evaluator_cypress |
192115.21534710584 ns/iter |
155102.6668260967 ns/iter |
1.24 |
E2E_Evaluator_deno |
363988.120567383 ns/iter |
285899.64078749006 ns/iter |
1.27 |
E2E_Evaluator_dependabot |
401110.42247842834 ns/iter |
294482.5171178404 ns/iter |
1.36 |
E2E_Evaluator_draft_04 |
8072066.8604657855 ns/iter |
5602991.186992582 ns/iter |
1.44 |
E2E_Evaluator_fabric_mod |
725175.2531894125 ns/iter |
565056.8663999366 ns/iter |
1.28 |
E2E_Evaluator_geojson |
12416041.057969013 ns/iter |
9491768.893331027 ns/iter |
1.31 |
E2E_Evaluator_gitpod_configuration |
302285.44327643234 ns/iter |
211379.433390995 ns/iter |
1.43 |
E2E_Evaluator_helm_chart_lock |
357198.1589146813 ns/iter |
318613.51217085967 ns/iter |
1.12 |
E2E_Evaluator_importmap |
57060.483300006126 ns/iter |
45332.051805042676 ns/iter |
1.26 |
E2E_Evaluator_jasmine |
150940.5931693745 ns/iter |
106267.32526520717 ns/iter |
1.42 |
E2E_Evaluator_jshintrc |
1563945.9706959222 ns/iter |
1097255.222841485 ns/iter |
1.43 |
E2E_Evaluator_jsconfig |
449643.91626289615 ns/iter |
333522.08268856525 ns/iter |
1.35 |
E2E_Evaluator_krakend |
227402.96965605905 ns/iter |
158701.21612615633 ns/iter |
1.43 |
E2E_Evaluator_lazygit |
178867.67802112285 ns/iter |
115521.58377394866 ns/iter |
1.55 |
E2E_Evaluator_lerna |
213165.79127895043 ns/iter |
141205.14220184527 ns/iter |
1.51 |
E2E_Evaluator_nest_cli |
229645.31306023826 ns/iter |
152496.63739441 ns/iter |
1.51 |
E2E_Evaluator_omc |
19305.93219123189 ns/iter |
16460.93984408428 ns/iter |
1.17 |
E2E_Evaluator_omnisharp |
573950.139166565 ns/iter |
628056.5419999675 ns/iter |
0.91 |
E2E_Evaluator_openapi |
9026022.942031847 ns/iter |
10912404.594203021 ns/iter |
0.83 |
E2E_Evaluator_pre_commit_hooks |
512103.9589998872 ns/iter |
541407.246051572 ns/iter |
0.95 |
E2E_Evaluator_pulumi |
710534.5612682865 ns/iter |
593845.2378101305 ns/iter |
1.20 |
E2E_Evaluator_semantic_release |
99937.37280272752 ns/iter |
82090.36355085838 ns/iter |
1.22 |
E2E_Evaluator_stale |
152320.10367214415 ns/iter |
140888.8370907575 ns/iter |
1.08 |
E2E_Evaluator_stylecop |
305430.23913043446 ns/iter |
258931.43154366312 ns/iter |
1.18 |
E2E_Evaluator_tmuxinator |
125006.73861743225 ns/iter |
77121.88498119569 ns/iter |
1.62 |
E2E_Evaluator_ui5 |
593050.3248639413 ns/iter |
410725.3362988014 ns/iter |
1.44 |
E2E_Evaluator_ui5_manifest |
1976439.9578651832 ns/iter |
1981835.2307692764 ns/iter |
1.00 |
E2E_Evaluator_unreal_engine_uproject |
387275.21765687456 ns/iter |
487601.55382912693 ns/iter |
0.79 |
E2E_Evaluator_users_array |
499124.7501666179 ns/iter |
538146.7990235345 ns/iter |
0.93 |
E2E_Evaluator_vercel |
311859.37913477997 ns/iter |
250822.30652331753 ns/iter |
1.24 |
E2E_Evaluator_yamllint |
9454.25564311246 ns/iter |
8859.928913296457 ns/iter |
1.07 |
JSONLD_Catalog_Simple |
20842297.44444125 ns/iter |
17996897.92500203 ns/iter |
1.16 |
JSONLD_Catalog_Override_Agreeing |
21421034.090907957 ns/iter |
18184275.641027477 ns/iter |
1.18 |
JSONLD_Catalog_Override_Shadowing |
26031052.481483936 ns/iter |
28690651.785707034 ns/iter |
0.91 |
Micro_Draft4_Meta_1_No_Callback |
188.7995031717174 ns/iter |
161.87952192377531 ns/iter |
1.17 |
Micro_Draft4_Required_Properties |
839.4238243953363 ns/iter |
755.5643746369121 ns/iter |
1.11 |
Micro_Draft4_Many_Optional_Properties_Minimal_Match |
22.700857840481955 ns/iter |
18.706606681063885 ns/iter |
1.21 |
Micro_Draft4_Few_Optional_Properties_Minimal_Match |
11.087811116694889 ns/iter |
11.362381567540728 ns/iter |
0.98 |
Micro_Draft4_Items_Schema |
289.0880326502918 ns/iter |
282.7073189732871 ns/iter |
1.02 |
Micro_Draft4_Nested_Object |
2.1873306373929924 ns/iter |
1.8191577150293 ns/iter |
1.20 |
Micro_Draft4_Properties_Triad_Optional |
376.3580123733252 ns/iter |
336.1481227267843 ns/iter |
1.12 |
Micro_Draft4_Properties_Triad_Closed |
261.1429290560986 ns/iter |
259.00834676596867 ns/iter |
1.01 |
Micro_Draft4_Properties_Triad_Required |
407.6470920120755 ns/iter |
331.8506552065959 ns/iter |
1.23 |
Micro_Draft4_Properties_Closed |
62.75017077297406 ns/iter |
54.443024965271974 ns/iter |
1.15 |
Micro_Draft4_Non_Recursive_Ref |
16.27714814757746 ns/iter |
13.338329285566475 ns/iter |
1.22 |
Micro_Draft4_Pattern_Properties_Empty |
210.02131752289998 ns/iter |
174.35363441112548 ns/iter |
1.20 |
Micro_Draft4_Ref_To_Single_Property |
14.488227394395112 ns/iter |
11.408587963874266 ns/iter |
1.27 |
Micro_Draft4_Additional_Properties_Type |
31.905217114045342 ns/iter |
29.429160823388422 ns/iter |
1.08 |
Micro_Draft4_Nested_Oneof |
47.4945852115611 ns/iter |
41.09601143743633 ns/iter |
1.16 |
Micro_Draft4_Short_Enum |
8.052775212515671 ns/iter |
7.182849069861677 ns/iter |
1.12 |
Micro_Draft4_Long_Enum |
13.968119462716098 ns/iter |
11.414638412701839 ns/iter |
1.22 |
Micro_Draft4_Long_Enum_Short_Strings |
9.093611523669095 ns/iter |
8.629395488403812 ns/iter |
1.05 |
Micro_Draft4_Type_Object |
4.533415385336528 ns/iter |
3.545823704913021 ns/iter |
1.28 |
Micro_Draft4_Ref_Single_100 |
1203979.6660957725 ns/iter |
1047763.5973055196 ns/iter |
1.15 |
Micro_Draft4_Compile_Ref_Many_Nested |
900775.2273224032 ns/iter |
662985.8212927728 ns/iter |
1.36 |
Micro_Draft4_Compile_Wrap |
1059195.511834534 ns/iter |
878351.9950370747 ns/iter |
1.21 |
Micro_Draft6_Property_Names |
113.59307113355173 ns/iter |
97.61235753884594 ns/iter |
1.16 |
Micro_Draft6_Compile_FHIR |
7242377000.000033 ns/iter |
5821016500.000042 ns/iter |
1.24 |
Micro_Draft7_If_Then_Else |
22.90707633501495 ns/iter |
20.17473481196204 ns/iter |
1.14 |
Micro_2019_09_Unevaluated_Properties |
41.16844976804258 ns/iter |
34.534518408251806 ns/iter |
1.19 |
Micro_2019_09_Compile_Wrap |
100720678.57143858 ns/iter |
95090953.12500903 ns/iter |
1.06 |
Micro_2020_12_Dynamic_Ref |
707.5562191479501 ns/iter |
643.4641515914345 ns/iter |
1.10 |
Micro_2020_12_Dynamic_Ref_Single |
4.3152005104985305 ns/iter |
3.676134098205469 ns/iter |
1.17 |
Micro_2020_12_Simple_Output_Mask |
890.4061593391065 ns/iter |
821.9261104362126 ns/iter |
1.08 |
Micro_2020_12_Simple_Output_Annotations |
51534.78671743723 ns/iter |
61368.58916256635 ns/iter |
0.84 |
Micro_2020_12_Simple_Output_Annotation_Dropping |
1214939.9078725993 ns/iter |
1272888.8888887013 ns/iter |
0.95 |
Micro_2020_12_Compile_NonCircular_Shared_Refs |
476501.2963224398 ns/iter |
454852.2336145103 ns/iter |
1.05 |
Micro_2020_12_Exhaustive_Deep_Numeric |
5073.639159998038 ns/iter |
6019.041332544765 ns/iter |
0.84 |
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput |
30780.270959693244 ns/iter |
31375.35693661389 ns/iter |
0.98 |
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput |
13445.884586621924 ns/iter |
15432.307999316492 ns/iter |
0.87 |
Micro_2020_12_Exhaustive_Deep_Numeric_Fail |
87.96279449833405 ns/iter |
97.0299398161225 ns/iter |
0.91 |
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput |
2681.230107897262 ns/iter |
2543.713414095277 ns/iter |
1.05 |
TestSuite_Parse_WoT |
17713630.946429607 ns/iter |
11796219.934426442 ns/iter |
1.50 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
171014177.24995828 ns/iter |
160282104.2499727 ns/iter |
1.07 |
Alterschema_Check_Readibility_OMC |
51040522.26667287 ns/iter |
35157697.89999013 ns/iter |
1.45 |
Alterschema_Check_Readibility_KrakenD |
601405833.0001717 ns/iter |
546124896.0000376 ns/iter |
1.10 |
Alterschema_Apply_Readibility_KrakenD |
55447312290.999886 ns/iter |
47269789040.99997 ns/iter |
1.17 |
Alterschema_Check_Invalid_External_Refs |
160424656.25002933 ns/iter |
166118383.20000058 ns/iter |
0.97 |
Alterschema_Check_Resolvable_External_Refs |
154733.15888300832 ns/iter |
183894.21679741688 ns/iter |
0.84 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
JavaScript (macos/llvm)
Details
| Benchmark suite | Current: d818b8b | Previous: 49094a0 | Ratio |
|---|---|---|---|
E2E_Evaluator_adaptivecard |
156094 ns |
111060 ns |
1.41 |
E2E_Evaluator_ansible-meta |
600073 ns |
384001 ns |
1.56 |
E2E_Evaluator_aws-cdk |
183402 ns |
151089 ns |
1.21 |
E2E_Evaluator_babelrc |
415125 ns |
285315 ns |
1.45 |
E2E_Evaluator_cerebrum-criminal-case |
1881134 ns |
1708042 ns |
1.10 |
E2E_Evaluator_clang-format |
251908 ns |
210751 ns |
1.20 |
E2E_Evaluator_cmake-presets |
26828084 ns |
17032443 ns |
1.58 |
E2E_Evaluator_code-climate |
633886 ns |
620136 ns |
1.02 |
E2E_Evaluator_cql2 |
1531201 ns |
1619496 ns |
0.95 |
E2E_Evaluator_cspell |
1742232 ns |
1877806 ns |
0.93 |
E2E_Evaluator_cypress |
895263 ns |
835858 ns |
1.07 |
E2E_Evaluator_deno |
1194239 ns |
1139239 ns |
1.05 |
E2E_Evaluator_dependabot |
947100 ns |
1060402 ns |
0.89 |
E2E_Evaluator_draft-04 |
22224524 ns |
19060252 ns |
1.17 |
E2E_Evaluator_fabric-mod |
2368145 ns |
1887526 ns |
1.25 |
E2E_Evaluator_geojson |
23447635 ns |
18801795 ns |
1.25 |
E2E_Evaluator_gitpod-configuration |
747728 ns |
584546 ns |
1.28 |
E2E_Evaluator_helm-chart-lock |
1146450 ns |
1113339 ns |
1.03 |
E2E_Evaluator_importmap |
348939 ns |
276649 ns |
1.26 |
E2E_Evaluator_jasmine |
251929 ns |
255608 ns |
0.99 |
E2E_Evaluator_jsconfig |
1088342 ns |
1117603 ns |
0.97 |
E2E_Evaluator_jshintrc |
2516236 ns |
2794772 ns |
0.90 |
E2E_Evaluator_krakend |
580161 ns |
710283 ns |
0.82 |
E2E_Evaluator_lazygit |
377845 ns |
500339 ns |
0.76 |
E2E_Evaluator_lerna |
503273 ns |
525907 ns |
0.96 |
E2E_Evaluator_nest-cli |
640754 ns |
516750 ns |
1.24 |
E2E_Evaluator_omc |
128830 ns |
112912 ns |
1.14 |
E2E_Evaluator_omnisharp |
1384000 ns |
1298006 ns |
1.07 |
E2E_Evaluator_openapi |
41935620 ns |
34560999 ns |
1.21 |
E2E_Evaluator_pre-commit-hooks |
1733416 ns |
1914572 ns |
0.91 |
E2E_Evaluator_pulumi |
1883844 ns |
2191302 ns |
0.86 |
E2E_Evaluator_semantic-release |
221756 ns |
222878 ns |
0.99 |
E2E_Evaluator_stale |
409200 ns |
382786 ns |
1.07 |
E2E_Evaluator_stylecop |
1105027 ns |
1052026 ns |
1.05 |
E2E_Evaluator_tmuxinator |
202391 ns |
317677 ns |
0.64 |
E2E_Evaluator_ui5 |
1922286 ns |
3134921 ns |
0.61 |
E2E_Evaluator_ui5-manifest |
10895216 ns |
17883780 ns |
0.61 |
E2E_Evaluator_unreal-engine-uproject |
1362406 ns |
1916764 ns |
0.71 |
E2E_Evaluator_users-array |
2941263 ns |
4612854 ns |
0.64 |
E2E_Evaluator_vercel |
1108140 ns |
1224090 ns |
0.91 |
E2E_Evaluator_yamllint |
27156 ns |
27440 ns |
0.99 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: d818b8b | Previous: 49094a0 | Ratio |
|---|---|---|---|
Schema_Tracker_ISO_Language |
2279189.750809139 ns/iter |
3517474.4371862113 ns/iter |
0.65 |
Schema_Tracker_ISO_Language_To_JSON |
8950323.428571032 ns/iter |
12357564.732143698 ns/iter |
0.72 |
Schema_Frame_WoT_References |
1250396.1270124791 ns/iter |
1781748.758354697 ns/iter |
0.70 |
Schema_Frame_OMC_References |
5471966.244094909 ns/iter |
7829601.12359576 ns/iter |
0.70 |
Schema_Frame_OMC_Pointers |
10305115.39705886 ns/iter |
14405908.367347347 ns/iter |
0.72 |
Schema_Frame_OMC_Locations |
4680619.509933545 ns/iter |
6787139.932038309 ns/iter |
0.69 |
Schema_Frame_ISO_Language_Locations |
26525203.074072577 ns/iter |
31830225.954541385 ns/iter |
0.83 |
Schema_Frame_ISO_Language_Root |
194.36458393430814 ns/iter |
272.4270024010185 ns/iter |
0.71 |
Schema_Frame_KrakenD_References |
9488821.666667199 ns/iter |
12194710.210527167 ns/iter |
0.78 |
Schema_Frame_KrakenD_Reachable |
77546397.19998977 ns/iter |
104703507.71431315 ns/iter |
0.74 |
Schema_Frame_ISO_Language_Locations_To_JSON |
22134755.4333344 ns/iter |
22867564.200002257 ns/iter |
0.97 |
Schema_Frame_Many_Resources_References |
85409943.99999847 ns/iter |
112613014.50000852 ns/iter |
0.76 |
Schema_Frame_Deeply_Nested_References |
6449730.327103128 ns/iter |
8925966.49367113 ns/iter |
0.72 |
Schema_Bundle_Meta_2020_12 |
300666.2980638667 ns/iter |
444990.1768445715 ns/iter |
0.68 |
Schema_Bundle_Many_Remotes_With_Fragments |
3788146.956286128 ns/iter |
5235304.022559995 ns/iter |
0.72 |
Schema_Format_ISO_Language_To_JSON |
28845360.62500113 ns/iter |
34778385.40000562 ns/iter |
0.83 |
E2E_Compiler_adaptivecard |
21311101.939393967 ns/iter |
26344430.961536054 ns/iter |
0.81 |
E2E_Compiler_ansible_meta |
5833110.866666877 ns/iter |
8315772.702380693 ns/iter |
0.70 |
E2E_Compiler_aws_cdk |
91906.80186817468 ns/iter |
127889.09542960742 ns/iter |
0.72 |
E2E_Compiler_babelrc |
507962.11661807407 ns/iter |
757537.1256772241 ns/iter |
0.67 |
E2E_Compiler_clang_format |
3950787.7288134797 ns/iter |
5617758.338710319 ns/iter |
0.70 |
E2E_Compiler_cmake_presets |
8342179.10843459 ns/iter |
12099683.25862135 ns/iter |
0.69 |
E2E_Compiler_code_climate |
370528.5047720041 ns/iter |
549990.5522387923 ns/iter |
0.67 |
E2E_Compiler_cql2 |
3905681.837079044 ns/iter |
5768914.9579835255 ns/iter |
0.68 |
E2E_Compiler_cspell |
6325844.62162081 ns/iter |
9036852.10389599 ns/iter |
0.70 |
E2E_Compiler_cypress |
839245.4871795545 ns/iter |
1343116.177820316 ns/iter |
0.62 |
E2E_Compiler_deno |
1807427.9507773877 ns/iter |
2718952.6420231694 ns/iter |
0.66 |
E2E_Compiler_dependabot |
699077.245685242 ns/iter |
1045838.2786885696 ns/iter |
0.67 |
E2E_Compiler_draft_04 |
613172.0864197906 ns/iter |
991673.7538896238 ns/iter |
0.62 |
E2E_Compiler_fabric_mod |
1100784.4047618338 ns/iter |
1758918.809045083 ns/iter |
0.63 |
E2E_Compiler_geojson |
5877419.0166673185 ns/iter |
8465657.382716758 ns/iter |
0.69 |
E2E_Compiler_gitpod_configuration |
1047258.9774436576 ns/iter |
1687191.4688997213 ns/iter |
0.62 |
E2E_Compiler_helm_chart_lock |
158896.0882018643 ns/iter |
224953.37881216686 ns/iter |
0.71 |
E2E_Compiler_importmap |
71490.57647899404 ns/iter |
100128.65122654512 ns/iter |
0.71 |
E2E_Compiler_jasmine |
266329.5489067918 ns/iter |
386283.7725014029 ns/iter |
0.69 |
E2E_Compiler_jshintrc |
871936.2826361366 ns/iter |
1267039.1865943917 ns/iter |
0.69 |
E2E_Compiler_jsconfig |
5317694.946564862 ns/iter |
7423066.085106682 ns/iter |
0.72 |
E2E_Compiler_krakend |
33745704.190475106 ns/iter |
46602819.214285776 ns/iter |
0.72 |
E2E_Compiler_lazygit |
7697919.043956283 ns/iter |
10834783.969230209 ns/iter |
0.71 |
E2E_Compiler_lerna |
342538.99313723965 ns/iter |
480328.857339764 ns/iter |
0.71 |
E2E_Compiler_nest_cli |
1723180.7654323145 ns/iter |
2540120.3527272544 ns/iter |
0.68 |
E2E_Compiler_omc |
46674888.66666644 ns/iter |
61674582.90909426 ns/iter |
0.76 |
E2E_Compiler_omnisharp |
1487736.6495727724 ns/iter |
2223045.82594956 ns/iter |
0.67 |
E2E_Compiler_openapi |
7309233.351063395 ns/iter |
10409196.343282508 ns/iter |
0.70 |
E2E_Compiler_pre_commit_hooks |
675090.7552783297 ns/iter |
1091785.7308294103 ns/iter |
0.62 |
E2E_Compiler_pulumi |
832159.8260354975 ns/iter |
1379793.0553360414 ns/iter |
0.60 |
E2E_Compiler_semantic_release |
302724.1192541114 ns/iter |
458911.8148879901 ns/iter |
0.66 |
E2E_Compiler_stale |
270831.7649109147 ns/iter |
394974.8087986274 ns/iter |
0.69 |
E2E_Compiler_stylecop |
1302500.023679409 ns/iter |
1877910.361186103 ns/iter |
0.69 |
E2E_Compiler_tmuxinator |
434400.5481665547 ns/iter |
621326.6108637032 ns/iter |
0.70 |
E2E_Compiler_ui5 |
15556198.15555676 ns/iter |
21823413.24999726 ns/iter |
0.71 |
E2E_Compiler_ui5_manifest |
91997484.37499978 ns/iter |
118093152.4000016 ns/iter |
0.78 |
E2E_Compiler_unreal_engine_uproject |
929974.6523995005 ns/iter |
1465516.068607066 ns/iter |
0.63 |
E2E_Compiler_users_array |
174049.4379396753 ns/iter |
252704.61909871138 ns/iter |
0.69 |
E2E_Compiler_vercel |
3535184.659999686 ns/iter |
5033789.417266463 ns/iter |
0.70 |
E2E_Compiler_yamllint |
57270.52903752179 ns/iter |
81284.45254118984 ns/iter |
0.70 |
E2E_Evaluator_adaptivecard |
14333.309070858813 ns/iter |
18218.75870394755 ns/iter |
0.79 |
E2E_Evaluator_ansible_meta |
136597.5565319064 ns/iter |
164982.0366343447 ns/iter |
0.83 |
E2E_Evaluator_aws_cdk |
27686.1328718084 ns/iter |
37119.285737085 ns/iter |
0.75 |
E2E_Evaluator_babelrc |
64447.21997436846 ns/iter |
90015.09240923991 ns/iter |
0.72 |
E2E_Evaluator_cerebrum_criminal_case |
589942.1092003871 ns/iter |
875492.3787499535 ns/iter |
0.67 |
E2E_Evaluator_clang_format |
74335.69667896673 ns/iter |
88068.50458599445 ns/iter |
0.84 |
E2E_Evaluator_cmake_presets |
2788530.315589367 ns/iter |
3903088.933333265 ns/iter |
0.71 |
E2E_Evaluator_code_climate |
105212.01819266776 ns/iter |
145723.78781599517 ns/iter |
0.72 |
E2E_Evaluator_cql2 |
112721.30684931498 ns/iter |
148532.3128073578 ns/iter |
0.76 |
E2E_Evaluator_cspell |
346457.2432160629 ns/iter |
515105.440088777 ns/iter |
0.67 |
E2E_Evaluator_cypress |
109827.43162526826 ns/iter |
151826.34822970701 ns/iter |
0.72 |
E2E_Evaluator_deno |
168550.83039806108 ns/iter |
280184.4306831758 ns/iter |
0.60 |
E2E_Evaluator_dependabot |
205981.10196307846 ns/iter |
262620.8171235313 ns/iter |
0.78 |
E2E_Evaluator_draft_04 |
9178680.027397204 ns/iter |
5571451.415999945 ns/iter |
1.65 |
E2E_Evaluator_fabric_mod |
390662.7416294661 ns/iter |
574666.7903358192 ns/iter |
0.68 |
E2E_Evaluator_geojson |
8548331.189873824 ns/iter |
8300041.365853248 ns/iter |
1.03 |
E2E_Evaluator_gitpod_configuration |
135661.61936757827 ns/iter |
178882.45647179298 ns/iter |
0.76 |
E2E_Evaluator_helm_chart_lock |
169840.6829453301 ns/iter |
384093.9923287656 ns/iter |
0.44 |
E2E_Evaluator_importmap |
25350.957604834093 ns/iter |
30651.49263287538 ns/iter |
0.83 |
E2E_Evaluator_jasmine |
59080.906673440906 ns/iter |
87054.29063669743 ns/iter |
0.68 |
E2E_Evaluator_jshintrc |
722025.5601373877 ns/iter |
996111.6280751523 ns/iter |
0.72 |
E2E_Evaluator_jsconfig |
261396.27386654037 ns/iter |
319733.35809263296 ns/iter |
0.82 |
E2E_Evaluator_krakend |
105803.74291314014 ns/iter |
137458.63461918174 ns/iter |
0.77 |
E2E_Evaluator_lazygit |
73330.60127416592 ns/iter |
102932.93564210406 ns/iter |
0.71 |
E2E_Evaluator_lerna |
64789.30429104286 ns/iter |
141209.6992526805 ns/iter |
0.46 |
E2E_Evaluator_nest_cli |
111207.65027579774 ns/iter |
141440.3886808296 ns/iter |
0.79 |
E2E_Evaluator_omc |
12608.271986467224 ns/iter |
15128.247960634284 ns/iter |
0.83 |
E2E_Evaluator_omnisharp |
337805.44084507035 ns/iter |
457711.320261439 ns/iter |
0.74 |
E2E_Evaluator_openapi |
8625946.739726553 ns/iter |
9616171.397259964 ns/iter |
0.90 |
E2E_Evaluator_pre_commit_hooks |
291466.27479342686 ns/iter |
409114.4837587001 ns/iter |
0.71 |
E2E_Evaluator_pulumi |
420700.1880239615 ns/iter |
639962.824497264 ns/iter |
0.66 |
E2E_Evaluator_semantic_release |
52308.016729866715 ns/iter |
71535.45952062376 ns/iter |
0.73 |
E2E_Evaluator_stale |
89437.32543848922 ns/iter |
119871.06802956076 ns/iter |
0.75 |
E2E_Evaluator_stylecop |
157307.1631936372 ns/iter |
207668.55309601876 ns/iter |
0.76 |
E2E_Evaluator_tmuxinator |
54607.79990440956 ns/iter |
74964.28990686154 ns/iter |
0.73 |
E2E_Evaluator_ui5 |
303931.5995689529 ns/iter |
374954.6398714154 ns/iter |
0.81 |
E2E_Evaluator_ui5_manifest |
1544274.0111113077 ns/iter |
2072519.1483677633 ns/iter |
0.75 |
E2E_Evaluator_unreal_engine_uproject |
281809.88998812286 ns/iter |
368567.800104931 ns/iter |
0.76 |
E2E_Evaluator_users_array |
383951.49558500265 ns/iter |
504194.77586204064 ns/iter |
0.76 |
E2E_Evaluator_vercel |
161735.3206015723 ns/iter |
268229.56449751614 ns/iter |
0.60 |
E2E_Evaluator_yamllint |
4842.884794444818 ns/iter |
6056.287641876857 ns/iter |
0.80 |
JSONLD_Catalog_Simple |
11139973.692308137 ns/iter |
13626241.607842833 ns/iter |
0.82 |
JSONLD_Catalog_Override_Agreeing |
11074755.904760856 ns/iter |
14185596.791665016 ns/iter |
0.78 |
JSONLD_Catalog_Override_Shadowing |
17643828.62162116 ns/iter |
22443814.03124862 ns/iter |
0.79 |
Micro_Draft4_Meta_1_No_Callback |
95.57520563487563 ns/iter |
140.56503727536446 ns/iter |
0.68 |
Micro_Draft4_Required_Properties |
430.72031224866663 ns/iter |
595.9435981881313 ns/iter |
0.72 |
Micro_Draft4_Many_Optional_Properties_Minimal_Match |
14.555922568219993 ns/iter |
18.236548348295628 ns/iter |
0.80 |
Micro_Draft4_Few_Optional_Properties_Minimal_Match |
7.379649712946825 ns/iter |
8.925685657800853 ns/iter |
0.83 |
Micro_Draft4_Items_Schema |
165.26572320068908 ns/iter |
252.99544412116333 ns/iter |
0.65 |
Micro_Draft4_Nested_Object |
1.5123957925436056 ns/iter |
1.8589583150120124 ns/iter |
0.81 |
Micro_Draft4_Properties_Triad_Optional |
177.73284820490275 ns/iter |
242.29614875994696 ns/iter |
0.73 |
Micro_Draft4_Properties_Triad_Closed |
147.78319339521232 ns/iter |
198.98602922988454 ns/iter |
0.74 |
Micro_Draft4_Properties_Triad_Required |
184.96510954757287 ns/iter |
253.17528145462012 ns/iter |
0.73 |
Micro_Draft4_Properties_Closed |
34.96341791068516 ns/iter |
45.066029090596395 ns/iter |
0.78 |
Micro_Draft4_Non_Recursive_Ref |
9.848087240194046 ns/iter |
11.866461094229033 ns/iter |
0.83 |
Micro_Draft4_Pattern_Properties_Empty |
81.20585634952866 ns/iter |
116.29966942307468 ns/iter |
0.70 |
Micro_Draft4_Ref_To_Single_Property |
7.41228368394768 ns/iter |
8.931616369298359 ns/iter |
0.83 |
Micro_Draft4_Additional_Properties_Type |
23.36147366367529 ns/iter |
31.604761839613946 ns/iter |
0.74 |
Micro_Draft4_Nested_Oneof |
30.93913096999367 ns/iter |
43.95259508371901 ns/iter |
0.70 |
Micro_Draft4_Short_Enum |
7.047364786131097 ns/iter |
8.698972434866292 ns/iter |
0.81 |
Micro_Draft4_Long_Enum |
7.841677320206583 ns/iter |
11.605769256067848 ns/iter |
0.68 |
Micro_Draft4_Long_Enum_Short_Strings |
7.278790014248449 ns/iter |
8.700748694257577 ns/iter |
0.84 |
Micro_Draft4_Type_Object |
2.801651330933097 ns/iter |
3.326690423485588 ns/iter |
0.84 |
Micro_Draft4_Ref_Single_100 |
725632.003913916 ns/iter |
1000537.7765043397 ns/iter |
0.73 |
Micro_Draft4_Compile_Ref_Many_Nested |
421408.83403741615 ns/iter |
628938.9496855811 ns/iter |
0.67 |
Micro_Draft4_Compile_Wrap |
490272.4381153669 ns/iter |
722160.0619834777 ns/iter |
0.68 |
Micro_Draft6_Property_Names |
73.00622375139727 ns/iter |
102.83888907658486 ns/iter |
0.71 |
Micro_Draft6_Compile_FHIR |
2962671196.9999633 ns/iter |
4256823670.000017 ns/iter |
0.70 |
Micro_Draft7_If_Then_Else |
13.803144919816827 ns/iter |
20.09457785773417 ns/iter |
0.69 |
Micro_2019_09_Unevaluated_Properties |
15.428631901424346 ns/iter |
25.055501408572994 ns/iter |
0.62 |
Micro_2019_09_Compile_Wrap |
55217951.545459576 ns/iter |
61604270.499992706 ns/iter |
0.90 |
Micro_2020_12_Dynamic_Ref |
415.3796563115671 ns/iter |
559.003384628192 ns/iter |
0.74 |
Micro_2020_12_Dynamic_Ref_Single |
2.5759257156800204 ns/iter |
3.2240047394868414 ns/iter |
0.80 |
Micro_2020_12_Simple_Output_Mask |
577.0088708611214 ns/iter |
730.9109349969624 ns/iter |
0.79 |
Micro_2020_12_Simple_Output_Annotations |
23542.624924256146 ns/iter |
35629.11529854871 ns/iter |
0.66 |
Micro_2020_12_Simple_Output_Annotation_Dropping |
705143.7368420432 ns/iter |
989766.2772277436 ns/iter |
0.71 |
Micro_2020_12_Compile_NonCircular_Shared_Refs |
264356.72445590893 ns/iter |
363248.3357588854 ns/iter |
0.73 |
Micro_2020_12_Exhaustive_Deep_Numeric |
5151.020019745561 ns/iter |
6101.79422442629 ns/iter |
0.84 |
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput |
20762.748465697812 ns/iter |
27466.917396599052 ns/iter |
0.76 |
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput |
11301.641549148668 ns/iter |
13680.19978977981 ns/iter |
0.83 |
Micro_2020_12_Exhaustive_Deep_Numeric_Fail |
82.57797729304252 ns/iter |
100.4853323640209 ns/iter |
0.82 |
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput |
1328.1203715418144 ns/iter |
1684.333929775636 ns/iter |
0.79 |
TestSuite_Parse_WoT |
6934924.780000529 ns/iter |
9732394.305555342 ns/iter |
0.71 |
Alterschema_Check_Readibility_ISO_Language_Set_3 |
141456609.00001076 ns/iter |
187322335.7499967 ns/iter |
0.76 |
Alterschema_Check_Readibility_OMC |
23654048.266666904 ns/iter |
34860826.80000208 ns/iter |
0.68 |
Alterschema_Check_Readibility_KrakenD |
278164047.3333103 ns/iter |
447558972.0000244 ns/iter |
0.62 |
Alterschema_Apply_Readibility_KrakenD |
30293351196.000004 ns/iter |
46491723243.00002 ns/iter |
0.65 |
Alterschema_Check_Invalid_External_Refs |
110731675.66667052 ns/iter |
128146581.8000015 ns/iter |
0.86 |
Alterschema_Check_Resolvable_External_Refs |
98371.50495879361 ns/iter |
128891.82502300489 ns/iter |
0.76 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
JavaScript (linux/llvm)
Details
| Benchmark suite | Current: d818b8b | Previous: 49094a0 | Ratio |
|---|---|---|---|
E2E_Evaluator_adaptivecard |
65743 ns |
88539 ns |
0.74 |
E2E_Evaluator_ansible-meta |
334580 ns |
365548 ns |
0.92 |
E2E_Evaluator_aws-cdk |
80627 ns |
109542 ns |
0.74 |
E2E_Evaluator_babelrc |
235022 ns |
279693 ns |
0.84 |
E2E_Evaluator_cerebrum-criminal-case |
1702278 ns |
1748258 ns |
0.97 |
E2E_Evaluator_clang-format |
144066 ns |
187622 ns |
0.77 |
E2E_Evaluator_cmake-presets |
12209075 ns |
13060667 ns |
0.93 |
E2E_Evaluator_code-climate |
300712 ns |
425761 ns |
0.71 |
E2E_Evaluator_cql2 |
716876 ns |
933399 ns |
0.77 |
E2E_Evaluator_cspell |
964983 ns |
1218702 ns |
0.79 |
E2E_Evaluator_cypress |
527807 ns |
682270 ns |
0.77 |
E2E_Evaluator_deno |
689540 ns |
890666 ns |
0.77 |
E2E_Evaluator_dependabot |
638450 ns |
793995 ns |
0.80 |
E2E_Evaluator_draft-04 |
13711948 ns |
15407118 ns |
0.89 |
E2E_Evaluator_fabric-mod |
1538694 ns |
1754960 ns |
0.88 |
E2E_Evaluator_geojson |
21129847 ns |
14069985 ns |
1.50 |
E2E_Evaluator_gitpod-configuration |
433001 ns |
527280 ns |
0.82 |
E2E_Evaluator_helm-chart-lock |
571307 ns |
866380 ns |
0.66 |
E2E_Evaluator_importmap |
157392 ns |
275732 ns |
0.57 |
E2E_Evaluator_jasmine |
159109 ns |
208087 ns |
0.76 |
E2E_Evaluator_jsconfig |
823002 ns |
1038702 ns |
0.79 |
E2E_Evaluator_jshintrc |
1825229 ns |
2409894 ns |
0.76 |
E2E_Evaluator_krakend |
339573 ns |
464844 ns |
0.73 |
E2E_Evaluator_lazygit |
277504 ns |
324781 ns |
0.85 |
E2E_Evaluator_lerna |
265712 ns |
368157 ns |
0.72 |
E2E_Evaluator_nest-cli |
351700 ns |
434160 ns |
0.81 |
E2E_Evaluator_omc |
64510 ns |
89065 ns |
0.72 |
E2E_Evaluator_omnisharp |
889835 ns |
1117969 ns |
0.80 |
E2E_Evaluator_openapi |
27083992 ns |
28340948 ns |
0.96 |
E2E_Evaluator_pre-commit-hooks |
1231036 ns |
1465745 ns |
0.84 |
E2E_Evaluator_pulumi |
1169191 ns |
1454907 ns |
0.80 |
E2E_Evaluator_semantic-release |
132270 ns |
185622 ns |
0.71 |
E2E_Evaluator_stale |
238058 ns |
286685 ns |
0.83 |
E2E_Evaluator_stylecop |
704719 ns |
843479 ns |
0.84 |
E2E_Evaluator_tmuxinator |
122283 ns |
190332 ns |
0.64 |
E2E_Evaluator_ui5 |
1153106 ns |
1647465 ns |
0.70 |
E2E_Evaluator_ui5-manifest |
5487921 ns |
7802973 ns |
0.70 |
E2E_Evaluator_unreal-engine-uproject |
954451 ns |
1189443 ns |
0.80 |
E2E_Evaluator_users-array |
1474483 ns |
2468994 ns |
0.60 |
E2E_Evaluator_vercel |
596070 ns |
796517 ns |
0.75 |
E2E_Evaluator_yamllint |
15551 ns |
18541 ns |
0.84 |
This comment was automatically generated by workflow using github-action-benchmark.
0742908 to
d6f2e44
Compare
There was a problem hiding this comment.
Benchmark (linux/gcc)
Details
| Benchmark suite | Current: d818b8b | Previous: 49094a0 | Ratio |
|---|---|---|---|
Alterschema_Check_Readibility_ISO_Language_Set_3 |
184794771.99997517 ns/iter |
245616312.3333681 ns/iter |
0.75 |
Alterschema_Check_Readibility_OMC |
41386527.2941273 ns/iter |
51692711.76922708 ns/iter |
0.80 |
Alterschema_Check_Readibility_KrakenD |
526517651.9999386 ns/iter |
594552446.9998418 ns/iter |
0.89 |
Alterschema_Apply_Readibility_KrakenD |
53545382459.99993 ns/iter |
63857459902.00008 ns/iter |
0.84 |
Alterschema_Check_Invalid_External_Refs |
142886157.6000145 ns/iter |
209673805.3333714 ns/iter |
0.68 |
Alterschema_Check_Resolvable_External_Refs |
178285.58263728407 ns/iter |
221041.39751749294 ns/iter |
0.81 |
TestSuite_Parse_WoT |
11358771.854841713 ns/iter |
13791180.392155522 ns/iter |
0.82 |
Micro_2020_12_Dynamic_Ref |
774.6337412615172 ns/iter |
942.8714799093343 ns/iter |
0.82 |
Micro_2020_12_Dynamic_Ref_Single |
3.4916062577013123 ns/iter |
3.873309365085509 ns/iter |
0.90 |
Micro_2020_12_Simple_Output_Mask |
1026.4356334607987 ns/iter |
1251.984548841264 ns/iter |
0.82 |
Micro_2020_12_Simple_Output_Annotations |
46117.2577154616 ns/iter |
53333.800997650666 ns/iter |
0.86 |
Micro_2020_12_Simple_Output_Annotation_Dropping |
1315446.9578540938 ns/iter |
1476497.7710085474 ns/iter |
0.89 |
Micro_2020_12_Compile_NonCircular_Shared_Refs |
450931.0135746651 ns/iter |
550204.3403590821 ns/iter |
0.82 |
Micro_2020_12_Exhaustive_Deep_Numeric |
7545.844475155792 ns/iter |
9492.009906903173 ns/iter |
0.79 |
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput |
35389.193162822456 ns/iter |
44800.634103936936 ns/iter |
0.79 |
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput |
18017.620123520996 ns/iter |
22415.96504169229 ns/iter |
0.80 |
Micro_2020_12_Exhaustive_Deep_Numeric_Fail |
128.34021760914138 ns/iter |
178.63709460661946 ns/iter |
0.72 |
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput |
2200.128114516211 ns/iter |
2566.3162869517996 ns/iter |
0.86 |
Micro_2019_09_Unevaluated_Properties |
24.96466541289364 ns/iter |
30.631783497272362 ns/iter |
0.81 |
Micro_2019_09_Compile_Wrap |
70335784.00000806 ns/iter |
90929037.14287916 ns/iter |
0.77 |
Micro_Draft7_If_Then_Else |
23.265958147014796 ns/iter |
25.83138008497609 ns/iter |
0.90 |
Micro_Draft6_Property_Names |
134.2699947271159 ns/iter |
151.46281101424742 ns/iter |
0.89 |
Micro_Draft6_Compile_FHIR |
4655553162.999923 ns/iter |
5356802839.0000105 ns/iter |
0.87 |
Micro_Draft4_Meta_1_No_Callback |
159.36217302587943 ns/iter |
181.84184749258023 ns/iter |
0.88 |
Micro_Draft4_Required_Properties |
916.1645561892733 ns/iter |
907.4338782343754 ns/iter |
1.01 |
Micro_Draft4_Many_Optional_Properties_Minimal_Match |
20.61415192106733 ns/iter |
21.89289149455496 ns/iter |
0.94 |
Micro_Draft4_Few_Optional_Properties_Minimal_Match |
12.078611988130717 ns/iter |
15.843178517324809 ns/iter |
0.76 |
Micro_Draft4_Items_Schema |
367.67791395068747 ns/iter |
308.637765329913 ns/iter |
1.19 |
Micro_Draft4_Nested_Object |
1.9411122245125623 ns/iter |
1.461664512984393 ns/iter |
1.33 |
Micro_Draft4_Properties_Triad_Optional |
244.75311557527428 ns/iter |
495.94768294296125 ns/iter |
0.49 |
Micro_Draft4_Properties_Triad_Closed |
202.21479055798858 ns/iter |
349.66001924058617 ns/iter |
0.58 |
Micro_Draft4_Properties_Triad_Required |
267.91575875601836 ns/iter |
451.950365698896 ns/iter |
0.59 |
Micro_Draft4_Properties_Closed |
57.31623744581394 ns/iter |
65.3968360618072 ns/iter |
0.88 |
Micro_Draft4_Non_Recursive_Ref |
8.073580043021698 ns/iter |
8.795603013901891 ns/iter |
0.92 |
Micro_Draft4_Pattern_Properties_Empty |
161.58630185338254 ns/iter |
193.93651424970687 ns/iter |
0.83 |
Micro_Draft4_Ref_To_Single_Property |
12.564465725132386 ns/iter |
15.823558986239549 ns/iter |
0.79 |
Micro_Draft4_Additional_Properties_Type |
12.285560143929398 ns/iter |
13.747654993021165 ns/iter |
0.89 |
Micro_Draft4_Nested_Oneof |
58.974726880880354 ns/iter |
63.4192826501746 ns/iter |
0.93 |
Micro_Draft4_Short_Enum |
10.690344026756716 ns/iter |
14.581574786206717 ns/iter |
0.73 |
Micro_Draft4_Long_Enum |
10.59180645296858 ns/iter |
12.676475680545432 ns/iter |
0.84 |
Micro_Draft4_Long_Enum_Short_Strings |
10.6538547705464 ns/iter |
14.437528011765881 ns/iter |
0.74 |
Micro_Draft4_Type_Object |
4.147598512881542 ns/iter |
4.5707127164877965 ns/iter |
0.91 |
Micro_Draft4_Ref_Single_100 |
1133411.0566341905 ns/iter |
1422435.0999998024 ns/iter |
0.80 |
Micro_Draft4_Compile_Ref_Many_Nested |
739507.3981289231 ns/iter |
894970.0064518002 ns/iter |
0.83 |
Micro_Draft4_Compile_Wrap |
897531.0770219318 ns/iter |
1135642.0210016868 ns/iter |
0.79 |
JSONLD_Catalog_Simple |
15626081.86956684 ns/iter |
21097985.000002656 ns/iter |
0.74 |
JSONLD_Catalog_Override_Agreeing |
15721156.222222514 ns/iter |
23660580.451610994 ns/iter |
0.66 |
JSONLD_Catalog_Override_Shadowing |
23908764.63333219 ns/iter |
33885360.68420858 ns/iter |
0.71 |
E2E_Compiler_adaptivecard |
30706420.17391749 ns/iter |
42588690.05555728 ns/iter |
0.72 |
E2E_Compiler_ansible_meta |
10070989.605633834 ns/iter |
12348779.892854672 ns/iter |
0.82 |
E2E_Compiler_aws_cdk |
151376.69255947042 ns/iter |
197393.18278663617 ns/iter |
0.77 |
E2E_Compiler_babelrc |
915141.9569312946 ns/iter |
1127021.070739765 ns/iter |
0.81 |
E2E_Compiler_clang_format |
6369793.304763031 ns/iter |
7863347.761361762 ns/iter |
0.81 |
E2E_Compiler_cmake_presets |
13351612.150944555 ns/iter |
17086806.523810167 ns/iter |
0.78 |
E2E_Compiler_code_climate |
682598.1735775744 ns/iter |
801551.6766745644 ns/iter |
0.85 |
E2E_Compiler_cql2 |
6919970.576923071 ns/iter |
8282022.905881177 ns/iter |
0.84 |
E2E_Compiler_cspell |
9983844.666666383 ns/iter |
12349803.767859515 ns/iter |
0.81 |
E2E_Compiler_cypress |
1496425.3878410074 ns/iter |
1860358.7679996658 ns/iter |
0.80 |
E2E_Compiler_deno |
3253668.266967919 ns/iter |
3946985.544944306 ns/iter |
0.82 |
E2E_Compiler_dependabot |
1261972.0210155614 ns/iter |
1536004.6381579994 ns/iter |
0.82 |
E2E_Compiler_draft_04 |
1232350.858195455 ns/iter |
1428227.7565919633 ns/iter |
0.86 |
E2E_Compiler_fabric_mod |
2110627.0294984444 ns/iter |
2428664.9999996573 ns/iter |
0.87 |
E2E_Compiler_geojson |
9687675.19178023 ns/iter |
11974771.620688882 ns/iter |
0.81 |
E2E_Compiler_gitpod_configuration |
2039963.089595603 ns/iter |
2327053.913333354 ns/iter |
0.88 |
E2E_Compiler_helm_chart_lock |
246497.3762627029 ns/iter |
324763.8481771898 ns/iter |
0.76 |
E2E_Compiler_importmap |
118228.65965154486 ns/iter |
149142.12715656823 ns/iter |
0.79 |
E2E_Compiler_jasmine |
446642.32944983727 ns/iter |
583877.49454237 ns/iter |
0.76 |
E2E_Compiler_jshintrc |
1424933.4809617263 ns/iter |
1796798.2743590628 ns/iter |
0.79 |
E2E_Compiler_jsconfig |
8174763.604650908 ns/iter |
10448298.090909014 ns/iter |
0.78 |
E2E_Compiler_krakend |
50163619.41666976 ns/iter |
69181772.33332142 ns/iter |
0.73 |
E2E_Compiler_lazygit |
12023129.844825737 ns/iter |
15561110.847823765 ns/iter |
0.77 |
E2E_Compiler_lerna |
563363.2358184346 ns/iter |
727092.1041666156 ns/iter |
0.77 |
E2E_Compiler_nest_cli |
2934224.021186757 ns/iter |
3583978.7743579787 ns/iter |
0.82 |
E2E_Compiler_omc |
71016327.88888107 ns/iter |
100813115.16667788 ns/iter |
0.70 |
E2E_Compiler_omnisharp |
2600040.3888887106 ns/iter |
3156965.765765972 ns/iter |
0.82 |
E2E_Compiler_openapi |
12519309.4545466 ns/iter |
15935496.071430558 ns/iter |
0.79 |
E2E_Compiler_pre_commit_hooks |
1283307.329729494 ns/iter |
1569298.9910316216 ns/iter |
0.82 |
E2E_Compiler_pulumi |
1661600.2536232148 ns/iter |
1926685.6758240913 ns/iter |
0.86 |
E2E_Compiler_semantic_release |
603152.2165039013 ns/iter |
689882.7180745285 ns/iter |
0.87 |
E2E_Compiler_stale |
439932.3177749512 ns/iter |
574014.1498771769 ns/iter |
0.77 |
E2E_Compiler_stylecop |
2250036.0392156653 ns/iter |
2759058.3110232605 ns/iter |
0.82 |
E2E_Compiler_tmuxinator |
791911.8357705937 ns/iter |
948027.2970432006 ns/iter |
0.84 |
E2E_Compiler_ui5 |
24527935.10713848 ns/iter |
31216599.523802526 ns/iter |
0.79 |
E2E_Compiler_ui5_manifest |
134288103.59996533 ns/iter |
189860330.49998242 ns/iter |
0.71 |
E2E_Compiler_unreal_engine_uproject |
1668675.7710277205 ns/iter |
2050855.8826980833 ns/iter |
0.81 |
E2E_Compiler_users_array |
311976.4645940852 ns/iter |
392891.70174448454 ns/iter |
0.79 |
E2E_Compiler_vercel |
5680170.1709395675 ns/iter |
6818253.07842968 ns/iter |
0.83 |
E2E_Compiler_yamllint |
93389.54461654973 ns/iter |
122237.64041813195 ns/iter |
0.76 |
E2E_Evaluator_adaptivecard |
20816.136048498443 ns/iter |
26924.90765566937 ns/iter |
0.77 |
E2E_Evaluator_ansible_meta |
204521.27094314242 ns/iter |
267249.5372907458 ns/iter |
0.77 |
E2E_Evaluator_aws_cdk |
47722.94153543747 ns/iter |
56700.31246456774 ns/iter |
0.84 |
E2E_Evaluator_babelrc |
87243.67795565932 ns/iter |
103643.66259345702 ns/iter |
0.84 |
E2E_Evaluator_cerebrum_criminal_case |
988153.728155305 ns/iter |
1241226.8464284383 ns/iter |
0.80 |
E2E_Evaluator_clang_format |
80539.58031260784 ns/iter |
92903.91612387914 ns/iter |
0.87 |
E2E_Evaluator_cmake_presets |
4777555.595890041 ns/iter |
6536605.958333533 ns/iter |
0.73 |
E2E_Evaluator_code_climate |
180478.36942340503 ns/iter |
204589.3897059159 ns/iter |
0.88 |
E2E_Evaluator_cql2 |
183749.30923279788 ns/iter |
220011.36008737836 ns/iter |
0.84 |
E2E_Evaluator_cspell |
537077.6308412224 ns/iter |
611505.486910913 ns/iter |
0.88 |
E2E_Evaluator_cypress |
153579.39232591543 ns/iter |
155008.22724225352 ns/iter |
0.99 |
E2E_Evaluator_deno |
334123.19766871823 ns/iter |
309701.22832886135 ns/iter |
1.08 |
E2E_Evaluator_dependabot |
307180.5999101152 ns/iter |
376533.88417615514 ns/iter |
0.82 |
E2E_Evaluator_draft_04 |
5421956.555554941 ns/iter |
11141883.423730271 ns/iter |
0.49 |
E2E_Evaluator_fabric_mod |
654127.2940074869 ns/iter |
773459.7050997191 ns/iter |
0.85 |
E2E_Evaluator_geojson |
9673274.333336202 ns/iter |
13618918.333332106 ns/iter |
0.71 |
E2E_Evaluator_gitpod_configuration |
214646.52497641504 ns/iter |
255800.33062434944 ns/iter |
0.84 |
E2E_Evaluator_helm_chart_lock |
382333.9578378648 ns/iter |
254475.41243989262 ns/iter |
1.50 |
E2E_Evaluator_importmap |
28359.164736161758 ns/iter |
39318.381844537056 ns/iter |
0.72 |
E2E_Evaluator_jasmine |
101102.82559309623 ns/iter |
115427.57575257831 ns/iter |
0.88 |
E2E_Evaluator_jshintrc |
999689.2312136552 ns/iter |
1044441.4548192482 ns/iter |
0.96 |
E2E_Evaluator_jsconfig |
330584.4140549934 ns/iter |
408913.29642646335 ns/iter |
0.81 |
E2E_Evaluator_krakend |
158634.84688134602 ns/iter |
202709.2644676129 ns/iter |
0.78 |
E2E_Evaluator_lazygit |
108175.9718788466 ns/iter |
137131.91389669402 ns/iter |
0.79 |
E2E_Evaluator_lerna |
185516.13834195948 ns/iter |
138759.05954499214 ns/iter |
1.34 |
E2E_Evaluator_nest_cli |
167325.62795802724 ns/iter |
198885.87308346378 ns/iter |
0.84 |
E2E_Evaluator_omc |
17565.413808415982 ns/iter |
24875.431316480215 ns/iter |
0.71 |
E2E_Evaluator_omnisharp |
542247.4870030105 ns/iter |
564630.3932951868 ns/iter |
0.96 |
E2E_Evaluator_openapi |
10643221.015623538 ns/iter |
18802857.658534423 ns/iter |
0.57 |
E2E_Evaluator_pre_commit_hooks |
477115.9979838096 ns/iter |
503539.56056131714 ns/iter |
0.95 |
E2E_Evaluator_pulumi |
709193.7323077264 ns/iter |
813859.5359550788 ns/iter |
0.87 |
E2E_Evaluator_semantic_release |
83341.87235064026 ns/iter |
92621.54165554458 ns/iter |
0.90 |
E2E_Evaluator_stale |
136339.935258966 ns/iter |
179548.87542261928 ns/iter |
0.76 |
E2E_Evaluator_stylecop |
242852.91824767782 ns/iter |
323391.9265639107 ns/iter |
0.75 |
E2E_Evaluator_tmuxinator |
87523.5789408741 ns/iter |
96201.03648835108 ns/iter |
0.91 |
E2E_Evaluator_ui5 |
443361.1844993017 ns/iter |
591024.6790542438 ns/iter |
0.75 |
E2E_Evaluator_ui5_manifest |
2517422.7027033465 ns/iter |
3225084.6681038104 ns/iter |
0.78 |
E2E_Evaluator_unreal_engine_uproject |
400491.25323580124 ns/iter |
497361.74269830284 ns/iter |
0.81 |
E2E_Evaluator_users_array |
557920.5684211534 ns/iter |
703929.027300184 ns/iter |
0.79 |
E2E_Evaluator_vercel |
316547.8160971027 ns/iter |
300101.434485714 ns/iter |
1.05 |
E2E_Evaluator_yamllint |
10037.481279899132 ns/iter |
12258.601106677299 ns/iter |
0.82 |
Schema_Format_ISO_Language_To_JSON |
38945026.000028014 ns/iter |
48865329.07688399 ns/iter |
0.80 |
Schema_Bundle_Meta_2020_12 |
605835.9157075033 ns/iter |
692752.8586970766 ns/iter |
0.87 |
Schema_Bundle_Many_Remotes_With_Fragments |
6540756.076925793 ns/iter |
7994887.712636656 ns/iter |
0.82 |
Schema_Frame_WoT_References |
2273164.790476008 ns/iter |
2580557.8007384273 ns/iter |
0.88 |
Schema_Frame_OMC_References |
9180338.102565564 ns/iter |
11369681.918032987 ns/iter |
0.81 |
Schema_Frame_OMC_Pointers |
17452679.07316946 ns/iter |
21354124.818179283 ns/iter |
0.82 |
Schema_Frame_OMC_Locations |
8021519.755554133 ns/iter |
9709281.208333526 ns/iter |
0.83 |
Schema_Frame_ISO_Language_Locations |
34904009.499996394 ns/iter |
46886182.3125053 ns/iter |
0.74 |
Schema_Frame_ISO_Language_Root |
386.161574098796 ns/iter |
437.24083279741967 ns/iter |
0.88 |
Schema_Frame_KrakenD_References |
14263715.673469422 ns/iter |
19631680.88571235 ns/iter |
0.73 |
Schema_Frame_KrakenD_Reachable |
102486413.85715018 ns/iter |
124001300.00005448 ns/iter |
0.83 |
Schema_Frame_ISO_Language_Locations_To_JSON |
27758473.291669358 ns/iter |
37670389.578950465 ns/iter |
0.74 |
Schema_Frame_Many_Resources_References |
133906171.59998329 ns/iter |
161240326.75003263 ns/iter |
0.83 |
Schema_Frame_Deeply_Nested_References |
9370174.12162289 ns/iter |
11251038.730160005 ns/iter |
0.83 |
Schema_Tracker_ISO_Language |
4467884.651613794 ns/iter |
5083522.4782600645 ns/iter |
0.88 |
Schema_Tracker_ISO_Language_To_JSON |
15898585.533336194 ns/iter |
16679869.186048586 ns/iter |
0.95 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
JavaScript (linux/gcc)
Details
| Benchmark suite | Current: d818b8b | Previous: 49094a0 | Ratio |
|---|---|---|---|
E2E_Evaluator_adaptivecard |
98709 ns |
120250 ns |
0.82 |
E2E_Evaluator_ansible-meta |
400170 ns |
556068 ns |
0.72 |
E2E_Evaluator_aws-cdk |
120292 ns |
131077 ns |
0.92 |
E2E_Evaluator_babelrc |
306150 ns |
361214 ns |
0.85 |
E2E_Evaluator_cerebrum-criminal-case |
1942795 ns |
2634835 ns |
0.74 |
E2E_Evaluator_clang-format |
202733 ns |
265373 ns |
0.76 |
E2E_Evaluator_cmake-presets |
15096243 ns |
18394475 ns |
0.82 |
E2E_Evaluator_code-climate |
446444 ns |
525829 ns |
0.85 |
E2E_Evaluator_cql2 |
977164 ns |
1248827 ns |
0.78 |
E2E_Evaluator_cspell |
1285986 ns |
1640680 ns |
0.78 |
E2E_Evaluator_cypress |
721922 ns |
850736 ns |
0.85 |
E2E_Evaluator_deno |
978901 ns |
1107331 ns |
0.88 |
E2E_Evaluator_dependabot |
884762 ns |
1088819 ns |
0.81 |
E2E_Evaluator_draft-04 |
16532742 ns |
19824542 ns |
0.83 |
E2E_Evaluator_fabric-mod |
1926398 ns |
2431451 ns |
0.79 |
E2E_Evaluator_geojson |
16148712 ns |
23982952 ns |
0.67 |
E2E_Evaluator_gitpod-configuration |
563619 ns |
740433 ns |
0.76 |
E2E_Evaluator_helm-chart-lock |
940754 ns |
1007525 ns |
0.93 |
E2E_Evaluator_importmap |
300733 ns |
287431 ns |
1.05 |
E2E_Evaluator_jasmine |
227104 ns |
282535 ns |
0.80 |
E2E_Evaluator_jsconfig |
1125624 ns |
1495668 ns |
0.75 |
E2E_Evaluator_jshintrc |
2688903 ns |
3038112 ns |
0.89 |
E2E_Evaluator_krakend |
514099 ns |
636848 ns |
0.81 |
E2E_Evaluator_lazygit |
359986 ns |
475606 ns |
0.76 |
E2E_Evaluator_lerna |
405153 ns |
455234 ns |
0.89 |
E2E_Evaluator_nest-cli |
474115 ns |
630240 ns |
0.75 |
E2E_Evaluator_omc |
95466 ns |
116725 ns |
0.82 |
E2E_Evaluator_omnisharp |
1231548 ns |
1524043 ns |
0.81 |
E2E_Evaluator_openapi |
31699650 ns |
44910177 ns |
0.71 |
E2E_Evaluator_pre-commit-hooks |
1621847 ns |
2196970 ns |
0.74 |
E2E_Evaluator_pulumi |
1637843 ns |
2071475 ns |
0.79 |
E2E_Evaluator_semantic-release |
210665 ns |
239353 ns |
0.88 |
E2E_Evaluator_stale |
311203 ns |
397761 ns |
0.78 |
E2E_Evaluator_stylecop |
1062683 ns |
1274064 ns |
0.83 |
E2E_Evaluator_tmuxinator |
201480 ns |
232383 ns |
0.87 |
E2E_Evaluator_ui5 |
1748277 ns |
2228883 ns |
0.78 |
E2E_Evaluator_ui5-manifest |
8343980 ns |
12608716 ns |
0.66 |
E2E_Evaluator_unreal-engine-uproject |
1321869 ns |
1649936 ns |
0.80 |
E2E_Evaluator_users-array |
2527234 ns |
3151512 ns |
0.80 |
E2E_Evaluator_vercel |
867507 ns |
1053321 ns |
0.82 |
E2E_Evaluator_yamllint |
19639 ns |
24393 ns |
0.81 |
This comment was automatically generated by workflow using github-action-benchmark.
🤖 Augment PR SummarySummary: This PR extends canonicalization of 🤖 Was this summary useful? React with 👍 or 👎 |
| if (entry.is_string() && | ||
| !(target_properties && | ||
| target_properties->defines(entry.to_string()))) { | ||
| return false; |
There was a problem hiding this comment.
src/canonicalizer/rules/unevaluated_properties_to_additional_properties_single_ref.h:132: This only defers the rewrite: required_properties_in_properties subsequently adds the uncovered name to the target's properties, the canonicalizer restarts, and this rule then succeeds and copies it locally. For a target requiring extra but initially defining only shared, the resulting additionalProperties accepts extra, while the original unevaluatedProperties: false rejects it because required does not evaluate that property.
Severity: high
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
All reported issues were addressed across 5 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Signed-off-by: Vansh <officialbusiness9818@gmail.com>
d6f2e44 to
f8f213c
Compare
|
Hey @Vansh-kap-98 sorry for the delay! Looking into it in a bit. Exciting! |
| // Structural expectations cannot tell whether a rewrite preserved what the | ||
| // schema actually accepts. Compile the schema before and after canonicalising | ||
| // it and require both to agree on every given instance | ||
| #define CANONICALIZE_AND_COMPARE_EVALUATION(document, ...) \ |
There was a problem hiding this comment.
I'd avoid this macro. Doing the equality checks at the canonicalizer level should be enough.
Though I understand what you are trying to do here to triple check evaluation results. Note we have https://github.com/sourcemeta/blaze/blob/main/test/evaluator/tracesuite_canonical.cc for this purpose. i.e. if you extend the JSON trace files like evaluator_2020_12.json to have MORE unevaluatedProperties THEN we run those before/after canonicalisation to check conformity, so I would move the test you have for this over there!
There was a problem hiding this comment.
ohhh, that makes a lot of sense, thank you for the review. I've dropped the macro and moved the check into the trace files. evaluator_2020_12.json has 5 more unevaluatedProperties cases for the single-$ref shape, so tracesuite_canonical now checks the before/after conformity automatically.
Also merged main to clear the conflict, that turned up the #1042 renames (is_in_place_applicator, the vocabulary enum), which I've fixed.
|
I'm running some of my own tests on this. Let's see if we can manage to break it. As these transformations can be very tricky to get right in all cases |
jviotti
left a comment
There was a problem hiding this comment.
Looks correct to me! Can you look into the git conflict though? And through the other comments I left? Then I think we are good to merge :)
Signed-off-by: Vansh <officialbusiness9818@gmail.com>
…uites Signed-off-by: Vansh <officialbusiness9818@gmail.com>
Ready for another look whenever you have time. hope you have a lovely day |
|
Hi @Vansh-kap-98 , awesome! Merging now! And thanks for the work. Following the guidance of that paper with more rules is always appreciated |
|
@jviotti thank you, and thanks for taking the time to review this so carefully, ill continue to follow the guidance of the paper, currently testing out Multi-branch 'allof'. if there's ever something you'd like looked at that you haven't the time for yourself, I'd be glad to help. |
unevaluated_properties_to_additional_propertiesonly fires whenunevaluatedPropertieshas no applicator sibling at all, which does not happenon real schemas. All 33
unevaluatedPropertiesoccurrences in the OMC benchmarksit next to
allOf: [ { $ref } ], so the keyword survives canonicalisation.This handles that shape. Based on arXiv:2503.11288v1 ("Elimination of annotation
dependencies in validation for Modern JSON Schema"), which I read for this: it is
the paper's cheapest non-trivial case, where a single branch means there is
nothing to intersect and the referenced schema's evaluated property set is
exactly the names its
propertiesspells out.Renaming alone would be wrong, since
additionalPropertiesonly consultssyntactically adjacent
properties/patternPropertiesand the$ref'sproperties are not adjacent. The referenced names are merged into the local
propertiesastrueschemas first; validation still comes from the untouched$ref.The rewrite applies only when the target is statically characterisable: no
in-place applicator or reference of its own, no
unevaluated*, noadditionalProperties, no non-emptypatternProperties. Targets whoserequiredis not already covered bypropertiesare skipped, sincerequired_properties_in_propertieswould widen them later, as are legacydialects, which grow an implicit
additionalProperties.Limits: converts only the terminal hop of a
$refchain (ina -> b -> conlyb -> c), does not touchunevaluatedItems, and does not affectE2E_Evaluator_*, which compiles the raw schema without canonicalising.Effect:
benchmark/e2e/omc/schema.jsongoes from 33unevaluatedPropertiesto0 after canonicalisation. No site in
benchmark/e2e/openapi/schema.jsonconverts.