Skip to content

Shadow a stray $id when upgrading from Draft 4 - #1090

Merged
jviotti merged 1 commit into
mainfrom
fix-convert
Sep 23, 2026
Merged

jviotti merged 1 commit into
mainfrom
fix-convert

Conversation

@jviotti

@jviotti jviotti commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Review in cubic

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 8 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="src/convert/rules/upgrade_draft_4_to_draft_6.h">

<violation number="1" location="src/convert/rules/upgrade_draft_4_to_draft_6.h:163">
P2: A stray `$id` placed on a subschema that also contains `$ref` is never shadowed: the document dialect flips to Draft 6 before the prefix rule ever sees the `$ref` schema, so the inert `$id` survives into the output as a live identifier. `has_stray_identifier` makes strays count as pending work, but the `any_subschema_under` scan in `condition()` skips every subschema that defines `$ref` (`if (entry_schema.is_object() && entry_schema.defines("$ref")) return false;`). With the top-down rule application in `convert.cc::apply`, the root is visited first: its pending conditions are satisfied (the `$ref` child is skipped), so the root's `transform` sets `$schema` to draft-06, and on the following passes the `PrefixPromotedDraft6Keywords` condition (`vocabularies.contains(JSON_SCHEMA_DRAFT_4)`) is false at every location. The stray `$id` next to `$ref` therefore stays as `$id` in the Draft 6/7/2019-09/2020-12 output, where it becomes an active resource identifier — the exact semantic corruption the PR is meant to prevent. None of the five added tests cover `$ref` + `$id` on the same subschema.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

}

return false;
return has_stray_identifier(subschema);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: A stray $id placed on a subschema that also contains $ref is never shadowed: the document dialect flips to Draft 6 before the prefix rule ever sees the $ref schema, so the inert $id survives into the output as a live identifier. has_stray_identifier makes strays count as pending work, but the any_subschema_under scan in condition() skips every subschema that defines $ref (if (entry_schema.is_object() && entry_schema.defines("$ref")) return false;). With the top-down rule application in convert.cc::apply, the root is visited first: its pending conditions are satisfied (the $ref child is skipped), so the root's transform sets $schema to draft-06, and on the following passes the PrefixPromotedDraft6Keywords condition (vocabularies.contains(JSON_SCHEMA_DRAFT_4)) is false at every location. The stray $id next to $ref therefore stays as $id in the Draft 6/7/2019-09/2020-12 output, where it becomes an active resource identifier — the exact semantic corruption the PR is meant to prevent. None of the five added tests cover $ref + $id on the same subschema.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/convert/rules/upgrade_draft_4_to_draft_6.h, line 163:

<comment>A stray `$id` placed on a subschema that also contains `$ref` is never shadowed: the document dialect flips to Draft 6 before the prefix rule ever sees the `$ref` schema, so the inert `$id` survives into the output as a live identifier. `has_stray_identifier` makes strays count as pending work, but the `any_subschema_under` scan in `condition()` skips every subschema that defines `$ref` (`if (entry_schema.is_object() && entry_schema.defines("$ref")) return false;`). With the top-down rule application in `convert.cc::apply`, the root is visited first: its pending conditions are satisfied (the `$ref` child is skipped), so the root's `transform` sets `$schema` to draft-06, and on the following passes the `PrefixPromotedDraft6Keywords` condition (`vocabularies.contains(JSON_SCHEMA_DRAFT_4)`) is false at every location. The stray `$id` next to `$ref` therefore stays as `$id` in the Draft 6/7/2019-09/2020-12 output, where it becomes an active resource identifier — the exact semantic corruption the PR is meant to prevent. None of the five added tests cover `$ref` + `$id` on the same subschema.</comment>

<file context>
@@ -162,7 +160,19 @@ class UpgradeDraft4ToDraft6 final : public SchemaTransformRule {
     }
 
-    return false;
+    return has_stray_identifier(subschema);
+  }
+
</file context>

@jviotti
jviotti merged commit 22ab8c5 into main Sep 23, 2026
13 of 14 checks passed
@jviotti
jviotti deleted the fix-convert branch September 23, 2026 17:23

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Details
Benchmark suite Current: c7259ec Previous: e680bad Ratio
Alterschema_Check_Readibility_ISO_Language_Set_3 247615548 ns 180868671 ns 1.37
Alterschema_Check_Readibility_OMC 50185315.25 ns 40232932 ns 1.25
Alterschema_Check_Readibility_KrakenD 569359089 ns 507070823 ns 1.12
Alterschema_Apply_Readibility_KrakenD 59941510799 ns 52517094683 ns 1.14
Alterschema_Check_Invalid_External_Refs 238453531 ns 152120010 ns 1.57
Alterschema_Check_Resolvable_External_Refs 228034.52310717799 ns 170317.026 ns 1.34
TestSuite_Parse_WoT 13579639.647058824 ns 10928718.772727273 ns 1.24
Micro_2020_12_Dynamic_Ref 960.5533601461933 ns 713.5773692573711 ns 1.35
Micro_2020_12_Dynamic_Ref_Single 4.357857639118552 ns 3.1119289302696496 ns 1.40
Micro_2020_12_Simple_Output_Mask 1200.2072692742847 ns 871.4521292573385 ns 1.38
Micro_2020_12_Simple_Output_Annotations 53258.41561938959 ns 40935.11869887769 ns 1.30
Micro_2020_12_Simple_Output_Annotation_Dropping 1497035.2578616352 ns 1191042.6108374384 ns 1.26
Micro_2020_12_Compile_NonCircular_Shared_Refs 573475.7239709443 ns 432068.4339250493 ns 1.33
Micro_2020_12_Exhaustive_Deep_Numeric 9171.560896570349 ns 7056.277869183249 ns 1.30
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 44241.397763280525 ns 32888.64195627803 ns 1.35
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 22870.389371980677 ns 16469.9902 ns 1.39
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 169.16367613907835 ns 119.79278703013914 ns 1.41
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 2760.498363205795 ns 2064.932141876587 ns 1.34
Micro_2019_09_Unevaluated_Properties 31.75344220386475 ns 23.793025762753267 ns 1.33
Micro_2019_09_Compile_Wrap 88998557.33333333 ns 69823742.66666667 ns 1.27
Micro_Draft7_If_Then_Else 25.2075923357455 ns 19.634623244248885 ns 1.28
Micro_Draft6_Property_Names 149.39438322196554 ns 120.19068629014505 ns 1.24
Micro_Draft6_Compile_FHIR 5507717674 ns 4800272531 ns 1.15
Micro_Draft4_Meta_1_No_Callback 173.70491874846294 ns 141.21184997789945 ns 1.23
Micro_Draft4_Required_Properties 876.1972805185027 ns 808.9806528582807 ns 1.08
Micro_Draft4_Many_Optional_Properties_Minimal_Match 21.499179279356802 ns 19.048594317477725 ns 1.13
Micro_Draft4_Few_Optional_Properties_Minimal_Match 15.88526177405828 ns 13.182037996583471 ns 1.21
Micro_Draft4_Items_Schema 333.77711901037526 ns 311.1414212595505 ns 1.07
Micro_Draft4_Nested_Object 1.5557682129904296 ns 1.4184378556958195 ns 1.10
Micro_Draft4_Properties_Triad_Optional 384.18334175430715 ns 234.61435092279493 ns 1.64
Micro_Draft4_Properties_Triad_Required 408.55205753023085 ns 268.94247302723227 ns 1.52
Micro_Draft4_Properties_Triad_Closed 305.63181830439004 ns 198.29201058896356 ns 1.54
Micro_Draft4_Properties_Closed 66.04333065330982 ns 52.648810138048376 ns 1.25
Micro_Draft4_Non_Recursive_Ref 9.333410748919531 ns 7.19041229899179 ns 1.30
Micro_Draft4_Pattern_Properties_Empty 200.68066649039116 ns 153.49695210430517 ns 1.31
Micro_Draft4_Ref_To_Single_Property 15.881749744174734 ns 12.43541817397605 ns 1.28
Micro_Draft4_Additional_Properties_Type 14.627130657090879 ns 12.290739739875418 ns 1.19
Micro_Draft4_Nested_Oneof 63.574866728044135 ns 56.4709801313817 ns 1.13
Micro_Draft4_Short_Enum 14.6474532220776 ns 9.971067586608028 ns 1.47
Micro_Draft4_Long_Enum 13.08961011909523 ns 10.52069847294096 ns 1.24
Micro_Draft4_Long_Enum_Short_Strings 14.633492443864556 ns 10.183769204453975 ns 1.44
Micro_Draft4_Type_Object 4.356422419475661 ns 3.773909619554605 ns 1.15
Micro_Draft4_Ref_Single_100 1482879.61875 ns 1075383.953488372 ns 1.38
Micro_Draft4_Compile_Ref_Many_Nested 951304.408 ns 725963.7807807808 ns 1.31
Micro_Draft4_Compile_Wrap 1176489.4776119404 ns 875427.0735294118 ns 1.34
JSONLD_Catalog_Simple 21528892.125 ns 15070097.454545455 ns 1.43
JSONLD_Catalog_Override_Agreeing 22654757 ns 15007814.666666666 ns 1.51
JSONLD_Catalog_Override_Shadowing 33445098.14285714 ns 22976111.8 ns 1.46
E2E_Compiler_adaptivecard 37470925 ns 28908116.25 ns 1.30
E2E_Compiler_ansible_meta 11959667.4 ns 9425979.52 ns 1.27
E2E_Compiler_aws_cdk 208382.87510993844 ns 142809.39185140803 ns 1.46
E2E_Compiler_babelrc 1125833.924170616 ns 858148.0766550523 ns 1.31
E2E_Compiler_clang_format 7653046.612903226 ns 6110797.055555556 ns 1.25
E2E_Compiler_cmake_presets 16117726.142857144 ns 13140125.555555556 ns 1.23
E2E_Compiler_code_climate 838038.5633802817 ns 635969.7594594595 ns 1.32
E2E_Compiler_cql2 7984309.8 ns 6448313.694444444 ns 1.24
E2E_Compiler_cspell 11946008.8 ns 9870084.52 ns 1.21
E2E_Compiler_cypress 1831211.8503937009 ns 1441514.395209581 ns 1.27
E2E_Compiler_deno 3798101.7741935486 ns 3070579.922077922 ns 1.24
E2E_Compiler_dependabot 1521895.0897435897 ns 1180654.8585858585 ns 1.29
E2E_Compiler_draft_04 1440341.290909091 ns 1133669.4 ns 1.27
E2E_Compiler_fabric_mod 2410955.202020202 ns 1951175.7241379311 ns 1.24
E2E_Compiler_geojson 11402195.142857144 ns 9252902.038461538 ns 1.23
E2E_Compiler_gitpod_configuration 2341209.920792079 ns 1875206.16 ns 1.25
E2E_Compiler_helm_chart_lock 334766.5645390071 ns 229285.65815324165 ns 1.46
E2E_Compiler_importmap 159499.79245283018 ns 110368.82678983833 ns 1.45
E2E_Compiler_jasmine 597103.7562814071 ns 432183.5 ns 1.38
E2E_Compiler_jshintrc 1816928.2868217055 ns 1321655.7068965517 ns 1.37
E2E_Compiler_jsconfig 10145728.695652174 ns 7708821.580645162 ns 1.32
E2E_Compiler_krakend 64447424 ns 49910635.5 ns 1.29
E2E_Compiler_lazygit 14757423.875 ns 11572637.5 ns 1.28
E2E_Compiler_lerna 742780.4465408805 ns 535352.0506329114 ns 1.39
E2E_Compiler_nest_cli 3506248.705882353 ns 2774817.630952381 ns 1.26
E2E_Compiler_omc 89884460.5 ns 69971658 ns 1.28
E2E_Compiler_omnisharp 3121460.1578947366 ns 2442787.28125 ns 1.28
E2E_Compiler_openapi 15133062.1875 ns 12361862.315789474 ns 1.22
E2E_Compiler_pre_commit_hooks 1527535.5256410257 ns 1197419.5699481866 ns 1.28
E2E_Compiler_pulumi 1937293.1557377048 ns 1617542.1666666667 ns 1.20
E2E_Compiler_semantic_release 710667.9580838323 ns 568423.4486873508 ns 1.25
E2E_Compiler_stale 589408.4962779157 ns 414830.74253731343 ns 1.42
E2E_Compiler_stylecop 2682508.125 ns 2088159.2586206896 ns 1.28
E2E_Compiler_tmuxinator 969012.2113821139 ns 734738.8396226416 ns 1.32
E2E_Compiler_ui5 30870362.57142857 ns 24694317.875 ns 1.25
E2E_Compiler_ui5_manifest 175760782 ns 138508373 ns 1.27
E2E_Compiler_unreal_engine_uproject 2011025.4576271186 ns 1600173.138888889 ns 1.26
E2E_Compiler_users_array 421698.8154121864 ns 290996.65178571426 ns 1.45
E2E_Compiler_vercel 6732179.514285714 ns 5439150.954545454 ns 1.24
E2E_Compiler_yamllint 133925.0310208686 ns 88165.38764683592 ns 1.52
E2E_Evaluator_adaptivecard 26284.700798021804 ns 19967.60345517076 ns 1.32
E2E_Evaluator_ansible_meta 286794.7215496368 ns 199596.5445292621 ns 1.44
E2E_Evaluator_aws_cdk 59878.488704819276 ns 44164.58739915482 ns 1.36
E2E_Evaluator_babelrc 115209.90684133915 ns 85478.29428778018 ns 1.35
E2E_Evaluator_cerebrum_criminal_case 1152356.417475728 ns 958598.109375 ns 1.20
E2E_Evaluator_clang_format 100378.79932403886 ns 75597.45176314039 ns 1.33
E2E_Evaluator_cmake_presets 5268129.577777778 ns 4591879.79245283 ns 1.15
E2E_Evaluator_code_climate 233221.08687068115 ns 186082.84818731117 ns 1.25
E2E_Evaluator_cql2 226634.59485224023 ns 175678.8552522746 ns 1.29
E2E_Evaluator_cspell 609983.7897435897 ns 525462.7220956719 ns 1.16
E2E_Evaluator_cypress 187374.81825460368 ns 142958.552363854 ns 1.31
E2E_Evaluator_deno 357759.0532724505 ns 326164.38692098093 ns 1.10
E2E_Evaluator_dependabot 396109.34653465345 ns 308502.2203856749 ns 1.28
E2E_Evaluator_draft_04 9119930.692307692 ns 5260446.688888889 ns 1.73
E2E_Evaluator_fabric_mod 798415.902027027 ns 660919.8189415042 ns 1.21
E2E_Evaluator_geojson 12943531.388888888 ns 9946826.913043479 ns 1.30
E2E_Evaluator_gitpod_configuration 275313.82658959535 ns 205855.07868020303 ns 1.34
E2E_Evaluator_helm_chart_lock 356729.3969465649 ns 371737.2679738562 ns 0.96
E2E_Evaluator_importmap 46947.01872201872 ns 27743.18884664132 ns 1.69
E2E_Evaluator_jasmine 128743.42359978249 ns 100218.38406104282 ns 1.28
E2E_Evaluator_jshintrc 1064346.0493273542 ns 930154.6355932204 ns 1.14
E2E_Evaluator_jsconfig 440745.1194029851 ns 324693.3408769448 ns 1.36
E2E_Evaluator_krakend 224597.4459203036 ns 152377.81119791666 ns 1.47
E2E_Evaluator_lazygit 151604.7461038961 ns 102228.30663106363 ns 1.48
E2E_Evaluator_lerna 172200.00230237911 ns 177760.81330472103 ns 0.97
E2E_Evaluator_nest_cli 208815.65933098592 ns 159646.4033069734 ns 1.31
E2E_Evaluator_omc 24282.74381427553 ns 16858.543898225224 ns 1.44
E2E_Evaluator_omnisharp 579805.6463414634 ns 518084.4944320713 ns 1.12
E2E_Evaluator_openapi 18293033.666666668 ns 10794326.42857143 ns 1.69
E2E_Evaluator_pre_commit_hooks 549099.4838709678 ns 471603.8128772636 ns 1.16
E2E_Evaluator_pulumi 751128.0444444445 ns 690592.109034268 ns 1.09
E2E_Evaluator_semantic_release 105225.45748449955 ns 80693.20786142572 ns 1.30
E2E_Evaluator_stale 172296.84841795437 ns 131744.98794520547 ns 1.31
E2E_Evaluator_stylecop 314821.9338624339 ns 230952.16221374046 ns 1.36
E2E_Evaluator_tmuxinator 106512.52485445589 ns 83990.39268562985 ns 1.27
E2E_Evaluator_ui5 616451.0595854922 ns 448244.5830258303 ns 1.38
E2E_Evaluator_ui5_manifest 3016166.3076923075 ns 2534030.2560975607 ns 1.19
E2E_Evaluator_unreal_engine_uproject 497661.58438818564 ns 395604.3085621971 ns 1.26
E2E_Evaluator_users_array 646291.7645429362 ns 542944.7863849765 ns 1.19
E2E_Evaluator_vercel 339510.359375 ns 308360.0418353576 ns 1.10
E2E_Evaluator_yamllint 13036.088157605107 ns 10089.290184482303 ns 1.29

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript (linux/gcc)

Details
Benchmark suite Current: c7259ec Previous: e680bad Ratio
E2E_Evaluator_adaptivecard 119889 ns 98359 ns 1.22
E2E_Evaluator_ansible-meta 518832 ns 379627 ns 1.37
E2E_Evaluator_aws-cdk 142024 ns 112002 ns 1.27
E2E_Evaluator_babelrc 342026 ns 297043 ns 1.15
E2E_Evaluator_cerebrum-criminal-case 2541729 ns 1801482 ns 1.41
E2E_Evaluator_clang-format 254756 ns 204925 ns 1.24
E2E_Evaluator_cmake-presets 17776217 ns 13792316 ns 1.29
E2E_Evaluator_code-climate 515756 ns 432462 ns 1.19
E2E_Evaluator_cql2 1203592 ns 918328 ns 1.31
E2E_Evaluator_cspell 1452483 ns 1276742 ns 1.14
E2E_Evaluator_cypress 757263 ns 708885 ns 1.07
E2E_Evaluator_deno 1058978 ns 920284 ns 1.15
E2E_Evaluator_dependabot 1119974 ns 876514 ns 1.28
E2E_Evaluator_draft-04 21150694 ns 16291670 ns 1.30
E2E_Evaluator_fabric-mod 2308913 ns 1848109 ns 1.25
E2E_Evaluator_geojson 24598044 ns 15907875 ns 1.55
E2E_Evaluator_gitpod-configuration 716124 ns 556335 ns 1.29
E2E_Evaluator_helm-chart-lock 1000153 ns 884694 ns 1.13
E2E_Evaluator_importmap 265003 ns 267417 ns 0.99
E2E_Evaluator_jasmine 290803 ns 217229 ns 1.34
E2E_Evaluator_jsconfig 1220301 ns 1112494 ns 1.10
E2E_Evaluator_jshintrc 2730482 ns 2465416 ns 1.11
E2E_Evaluator_krakend 665408 ns 492053 ns 1.35
E2E_Evaluator_lazygit 505738 ns 341853 ns 1.48
E2E_Evaluator_lerna 472897 ns 388887 ns 1.22
E2E_Evaluator_nest-cli 589077 ns 467006 ns 1.26
E2E_Evaluator_omc 121590 ns 95813 ns 1.27
E2E_Evaluator_omnisharp 1364427 ns 1213652 ns 1.12
E2E_Evaluator_openapi 43874561 ns 30181166 ns 1.45
E2E_Evaluator_pre-commit-hooks 1971266 ns 1621576 ns 1.22
E2E_Evaluator_pulumi 1875906 ns 1680208 ns 1.12
E2E_Evaluator_semantic-release 256918 ns 202394 ns 1.27
E2E_Evaluator_stale 402702 ns 311307 ns 1.29
E2E_Evaluator_stylecop 1202588 ns 1031354 ns 1.17
E2E_Evaluator_tmuxinator 228320 ns 203794 ns 1.12
E2E_Evaluator_ui5 2231590 ns 1762403 ns 1.27
E2E_Evaluator_ui5-manifest 10127945 ns 8174558 ns 1.24
E2E_Evaluator_unreal-engine-uproject 1491572 ns 1308020 ns 1.14
E2E_Evaluator_users-array 2996914 ns 2550427 ns 1.18
E2E_Evaluator_vercel 974365 ns 839943 ns 1.16
E2E_Evaluator_yamllint 25490 ns 20521 ns 1.24

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Details
Benchmark suite Current: c7259ec Previous: 22ab8c5 Ratio
E2E_Compiler_adaptivecard 32392409.14285714 ns 24880034 ns 1.30
E2E_Compiler_ansible_meta 10608009.954545455 ns 8201279.1034482755 ns 1.29
E2E_Compiler_aws_cdk 163568.45853324194 ns 127338.37479892762 ns 1.28
E2E_Compiler_babelrc 995957.0292887029 ns 775277.7124183007 ns 1.28
E2E_Compiler_clang_format 7109194.939393939 ns 5486990.285714285 ns 1.30
E2E_Compiler_cmake_presets 14843291 ns 11607428.8 ns 1.28
E2E_Compiler_code_climate 730623.5871559633 ns 561123.7624703088 ns 1.30
E2E_Compiler_cql2 7044950.470588235 ns 5381901.363636363 ns 1.31
E2E_Compiler_cspell 11310624.61904762 ns 8655730.888888888 ns 1.31
E2E_Compiler_cypress 1779268.856060606 ns 1346376.5649717513 ns 1.32
E2E_Compiler_deno 3458515.8260869565 ns 2648565.1235955055 ns 1.31
E2E_Compiler_dependabot 1405901.748502994 ns 1070035.3963963964 ns 1.31
E2E_Compiler_draft_04 1212702.1326530613 ns 932279.8039215687 ns 1.30
E2E_Compiler_fabric_mod 2165068.770642202 ns 1657359.2237762238 ns 1.31
E2E_Compiler_geojson 10743977.272727273 ns 8247711.068965517 ns 1.30
E2E_Compiler_gitpod_configuration 2109389.6846846845 ns 1611846.3197278911 ns 1.31
E2E_Compiler_helm_chart_lock 300323.86531130876 ns 230810.9306640625 ns 1.30
E2E_Compiler_importmap 130876.019791094 ns 100696.34292972057 ns 1.30
E2E_Compiler_jasmine 519328.39514348784 ns 396865.94304857624 ns 1.31
E2E_Compiler_jshintrc 1650881.7253521127 ns 1266708.7005347593 ns 1.30
E2E_Compiler_jsconfig 9808676.75 ns 7557351.354838709 ns 1.30
E2E_Compiler_krakend 60568490.5 ns 46399911.2 ns 1.31
E2E_Compiler_lazygit 14037489.764705881 ns 10626663.636363637 ns 1.32
E2E_Compiler_lerna 641117.9054054054 ns 489464.8494845361 ns 1.31
E2E_Compiler_nest_cli 3232605.9178082193 ns 2473615.0625 ns 1.31
E2E_Compiler_omc 81270531.33333333 ns 62273561.5 ns 1.31
E2E_Compiler_omnisharp 2866458.6951219514 ns 2200365.6952380952 ns 1.30
E2E_Compiler_openapi 12963251.722222222 ns 9899433.875 ns 1.31
E2E_Compiler_pre_commit_hooks 1415575.8862275449 ns 1059971.9155555556 ns 1.34
E2E_Compiler_pulumi 1699910.8057553957 ns 1310873.502762431 ns 1.30
E2E_Compiler_semantic_release 605382.7341772151 ns 458517.2437137331 ns 1.32
E2E_Compiler_stale 529960.8351893096 ns 407429.64786324784 ns 1.30
E2E_Compiler_stylecop 2479671.4583333335 ns 1895584.88 ns 1.31
E2E_Compiler_tmuxinator 826008.7263157895 ns 632584.1413333333 ns 1.31
E2E_Compiler_ui5 27506479.75 ns 21130647.4 ns 1.30
E2E_Compiler_ui5_manifest 153766637.5 ns 116392662.5 ns 1.32
E2E_Compiler_unreal_engine_uproject 1832814.653543307 ns 1413747.9345238095 ns 1.30
E2E_Compiler_users_array 334237.84225352114 ns 257335.93837837837 ns 1.30
E2E_Compiler_vercel 6425298.081081081 ns 4948312.645833333 ns 1.30
E2E_Compiler_yamllint 107889.14777878513 ns 83654.62226920367 ns 1.29
E2E_Evaluator_adaptivecard 26522.05368974183 ns 20606.61258535742 ns 1.29
E2E_Evaluator_ansible_meta 225678.431166348 ns 174461.25682656828 ns 1.29
E2E_Evaluator_aws_cdk 45828.703582434515 ns 35957.94919866949 ns 1.27
E2E_Evaluator_babelrc 99012.60066833752 ns 77191.91552956465 ns 1.28
E2E_Evaluator_cerebrum_criminal_case 1151206.8076923077 ns 891273.6208178438 ns 1.29
E2E_Evaluator_clang_format 114525.73008208595 ns 88807.36909227307 ns 1.29
E2E_Evaluator_cmake_presets 4455708.12 ns 3476321.544117647 ns 1.28
E2E_Evaluator_code_climate 165675.7022190408 ns 128311.94978401728 ns 1.29
E2E_Evaluator_cql2 200488.69568892647 ns 156872.56906807667 ns 1.28
E2E_Evaluator_cspell 644086.5819672131 ns 495673.0901467505 ns 1.30
E2E_Evaluator_cypress 177311.53974261924 ns 136261.35432169432 ns 1.30
E2E_Evaluator_deno 273387.8337264151 ns 212295.99817017384 ns 1.29
E2E_Evaluator_dependabot 346281.4447717231 ns 265248.2468856172 ns 1.31
E2E_Evaluator_draft_04 8520236.555555556 ns 6106724.823529412 ns 1.40
E2E_Evaluator_fabric_mod 695404.5747800587 ns 543269.9885321101 ns 1.28
E2E_Evaluator_geojson 11814735.5 ns 10010780.782608695 ns 1.18
E2E_Evaluator_gitpod_configuration 227887.88333333333 ns 172728.37249070633 ns 1.32
E2E_Evaluator_helm_chart_lock 265649.0765606596 ns 210837.57072205737 ns 1.26
E2E_Evaluator_importmap 49887.54726890756 ns 39103.661317008606 ns 1.28
E2E_Evaluator_jasmine 101315.6501283148 ns 78692.47875166003 ns 1.29
E2E_Evaluator_jshintrc 1199445.3636363635 ns 929839.8984375 ns 1.29
E2E_Evaluator_jsconfig 424106.2218181818 ns 330340.61204481794 ns 1.28
E2E_Evaluator_krakend 189321.33414634145 ns 145571.84947563233 ns 1.30
E2E_Evaluator_lazygit 136088.9204805492 ns 106121.70152603231 ns 1.28
E2E_Evaluator_lerna 120742.76658227848 ns 92936.634765625 ns 1.30
E2E_Evaluator_nest_cli 190377.607605178 ns 146065.34342186534 ns 1.30
E2E_Evaluator_omc 22200.460488169832 ns 17245.59717186367 ns 1.29
E2E_Evaluator_omnisharp 591434.4314214464 ns 456648.6795366795 ns 1.30
E2E_Evaluator_openapi 13749422.785714285 ns 10200707.055555556 ns 1.35
E2E_Evaluator_pre_commit_hooks 514109.81778741867 ns 391744.7554076539 ns 1.31
E2E_Evaluator_pulumi 693466.3848396501 ns 531842.9162895927 ns 1.30
E2E_Evaluator_semantic_release 86376.5790051207 ns 66411.45706293706 ns 1.30
E2E_Evaluator_stale 154634.4461136512 ns 120131.1879737241 ns 1.29
E2E_Evaluator_stylecop 274014.6463834673 ns 210856.79414374445 ns 1.30
E2E_Evaluator_tmuxinator 86015.32224231465 ns 66587.25853385562 ns 1.29
E2E_Evaluator_ui5 517453.9650655022 ns 395664.600660066 ns 1.31
E2E_Evaluator_ui5_manifest 2510094.032967033 ns 1909420.1214953272 ns 1.31
E2E_Evaluator_unreal_engine_uproject 459016.31141199224 ns 348686.9587628866 ns 1.32
E2E_Evaluator_users_array 657519.1527777778 ns 508786.98051948054 ns 1.29
E2E_Evaluator_vercel 284849.9987819732 ns 221232.07190160832 ns 1.29
E2E_Evaluator_yamllint 8679.282148591446 ns 6746.756981326023 ns 1.29
JSONLD_Catalog_Simple 19741923.7 ns 15310188.833333334 ns 1.29
JSONLD_Catalog_Override_Agreeing 20453250.416666668 ns 16157501.5 ns 1.27
JSONLD_Catalog_Override_Shadowing 32543464.85714286 ns 24844535.333333332 ns 1.31
Micro_Draft4_Meta_1_No_Callback 203.78056079489562 ns 157.56301886080928 ns 1.29
Micro_Draft4_Required_Properties 945.5060334421688 ns 712.3849390619599 ns 1.33
Micro_Draft4_Many_Optional_Properties_Minimal_Match 27.31315196301853 ns 21.2473078651218 ns 1.29
Micro_Draft4_Few_Optional_Properties_Minimal_Match 13.206189793661883 ns 10.272360065827733 ns 1.29
Micro_Draft4_Items_Schema 287.7440172112008 ns 222.91650560930395 ns 1.29
Micro_Draft4_Nested_Object 3.8669280036475455 ns 2.999865373364714 ns 1.29
Micro_Draft4_Properties_Triad_Optional 329.681604207758 ns 254.1453633464075 ns 1.30
Micro_Draft4_Properties_Triad_Required 346.2296876522508 ns 266.9887016724034 ns 1.30
Micro_Draft4_Properties_Triad_Closed 273.0341426349964 ns 210.55090427398852 ns 1.30
Micro_Draft4_Properties_Closed 65.91318383120048 ns 51.20358778685451 ns 1.29
Micro_Draft4_Non_Recursive_Ref 19.694251775077674 ns 15.337933183288182 ns 1.28
Micro_Draft4_Pattern_Properties_Empty 152.91647220699463 ns 117.9482367461653 ns 1.30
Micro_Draft4_Ref_To_Single_Property 13.214511955560072 ns 10.265183103515156 ns 1.29
Micro_Draft4_Additional_Properties_Type 40.38305477766145 ns 31.304330390989307 ns 1.29
Micro_Draft4_Nested_Oneof 58.78473107312682 ns 45.59659397442618 ns 1.29
Micro_Draft4_Short_Enum 12.082786330177713 ns 9.349064312918687 ns 1.29
Micro_Draft4_Long_Enum 15.11523362002853 ns 11.45827880839655 ns 1.32
Micro_Draft4_Long_Enum_Short_Strings 12.065544528518421 ns 9.35974853749629 ns 1.29
Micro_Draft4_Type_Object 4.923307640206936 ns 3.8201728799588786 ns 1.29
Micro_Draft4_Ref_Single_100 1314842.7582417582 ns 995238.7824267782 ns 1.32
Micro_Draft4_Compile_Ref_Many_Nested 848223.6785714285 ns 631206.7706666667 ns 1.34
Micro_Draft4_Compile_Wrap 1007198.7923728813 ns 761036.7243589744 ns 1.32
Micro_Draft6_Property_Names 125.18829115920332 ns 97.10431932124952 ns 1.29
Micro_Draft6_Compile_FHIR 5279152829 ns 3950473276 ns 1.34
Micro_Draft7_If_Then_Else 25.229976654951088 ns 19.60113760270882 ns 1.29
Micro_2019_09_Unevaluated_Properties 27.705422433154304 ns 21.198267956034844 ns 1.31
Micro_2019_09_Compile_Wrap 86054588.66666667 ns 72210956.33333333 ns 1.19
Micro_2020_12_Dynamic_Ref 713.9342704005468 ns 555.9124252874105 ns 1.28
Micro_2020_12_Dynamic_Ref_Single 4.9233031289917415 ns 3.8204966193390795 ns 1.29
Micro_2020_12_Simple_Output_Mask 1054.2632782178744 ns 805.5592010061804 ns 1.31
Micro_2020_12_Simple_Output_Annotations 42929.95740774738 ns 33918.63283922463 ns 1.27
Micro_2020_12_Simple_Output_Annotation_Dropping 1202984.0858585858 ns 942693.1468253968 ns 1.28
Micro_2020_12_Compile_NonCircular_Shared_Refs 476395.86 ns 366316.4059097978 ns 1.30
Micro_2020_12_Exhaustive_Deep_Numeric 8654.554715078164 ns 6743.753936839707 ns 1.28
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 36118.433919369505 ns 28231.730126277813 ns 1.28
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 19953.76290743704 ns 15391.02266903213 ns 1.30
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 159.6904610685669 ns 120.8329969743015 ns 1.32
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 2116.253862800452 ns 1706.7763691079197 ns 1.24
TestSuite_Parse_WoT 12315487.684210526 ns 9494671.52 ns 1.30
Alterschema_Check_Readibility_ISO_Language_Set_3 250210342 ns 185104203 ns 1.35
Alterschema_Check_Readibility_OMC 50002855.4 ns 40831225.666666664 ns 1.22
Alterschema_Check_Readibility_KrakenD 548181645 ns 424100903 ns 1.29
Alterschema_Apply_Readibility_KrakenD 56935137403 ns 44175232908 ns 1.29
Alterschema_Check_Invalid_External_Refs 193996662 ns 153229894 ns 1.27
Alterschema_Check_Resolvable_External_Refs 177662.09104704097 ns 137547.08511870296 ns 1.29

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript (linux/llvm)

Details
Benchmark suite Current: c7259ec Previous: 22ab8c5 Ratio
E2E_Evaluator_adaptivecard 116553 ns 93574 ns 1.25
E2E_Evaluator_ansible-meta 543662 ns 439446 ns 1.24
E2E_Evaluator_aws-cdk 127972 ns 100296 ns 1.28
E2E_Evaluator_babelrc 348115 ns 294603 ns 1.18
E2E_Evaluator_cerebrum-criminal-case 2654590 ns 2147486 ns 1.24
E2E_Evaluator_clang-format 261091 ns 220168 ns 1.19
E2E_Evaluator_cmake-presets 17585801 ns 14551339 ns 1.21
E2E_Evaluator_code-climate 508366 ns 407369 ns 1.25
E2E_Evaluator_cql2 1220335 ns 940880 ns 1.30
E2E_Evaluator_cspell 1593691 ns 1298880 ns 1.23
E2E_Evaluator_cypress 843950 ns 697929 ns 1.21
E2E_Evaluator_deno 1064550 ns 862622 ns 1.23
E2E_Evaluator_dependabot 1096911 ns 872174 ns 1.26
E2E_Evaluator_draft-04 21640881 ns 16626833 ns 1.30
E2E_Evaluator_fabric-mod 2415952 ns 1968106 ns 1.23
E2E_Evaluator_geojson 24659167 ns 22418993 ns 1.10
E2E_Evaluator_gitpod-configuration 741423 ns 584042 ns 1.27
E2E_Evaluator_helm-chart-lock 1012236 ns 792868 ns 1.28
E2E_Evaluator_importmap 263802 ns 209894 ns 1.26
E2E_Evaluator_jasmine 278185 ns 223404 ns 1.25
E2E_Evaluator_jsconfig 1406768 ns 1196946 ns 1.18
E2E_Evaluator_jshintrc 2906508 ns 2339157 ns 1.24
E2E_Evaluator_krakend 629323 ns 492573 ns 1.28
E2E_Evaluator_lazygit 453522 ns 366314 ns 1.24
E2E_Evaluator_lerna 437952 ns 368366 ns 1.19
E2E_Evaluator_nest-cli 606804 ns 484549 ns 1.25
E2E_Evaluator_omc 116536 ns 94549 ns 1.23
E2E_Evaluator_omnisharp 1446741 ns 1175821 ns 1.23
E2E_Evaluator_openapi 41283802 ns 32370468 ns 1.28
E2E_Evaluator_pre-commit-hooks 2060005 ns 1630909 ns 1.26
E2E_Evaluator_pulumi 2125360 ns 1638938 ns 1.30
E2E_Evaluator_semantic-release 231554 ns 187240 ns 1.24
E2E_Evaluator_stale 380828 ns 309439 ns 1.23
E2E_Evaluator_stylecop 1207634 ns 964503 ns 1.25
E2E_Evaluator_tmuxinator 220225 ns 173255 ns 1.27
E2E_Evaluator_ui5 2198353 ns 1707594 ns 1.29
E2E_Evaluator_ui5-manifest 10923234 ns 7619410 ns 1.43
E2E_Evaluator_unreal-engine-uproject 1587593 ns 1261502 ns 1.26
E2E_Evaluator_users-array 2815324 ns 2336054 ns 1.21
E2E_Evaluator_vercel 1012000 ns 789778 ns 1.28
E2E_Evaluator_yamllint 23896 ns 18987 ns 1.26

This comment was automatically generated by workflow using github-action-benchmark.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant