Skip to content

Improve compiler and linter error classes#652

Merged
jviotti merged 1 commit intomainfrom
better-errors-class
Mar 5, 2026
Merged

Improve compiler and linter error classes#652
jviotti merged 1 commit intomainfrom
better-errors-class

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Mar 5, 2026

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

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

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

Choose a reason for hiding this comment

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

3 issues 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/test/include/sourcemeta/blaze/test_error.h">

<violation number="1" location="src/test/include/sourcemeta/blaze/test_error.h:29">
P2: Storing `const char *` without owning the message risks dangling pointers when callers pass temporary buffers (e.g., `std::string::c_str()`). This breaks `what()` safety. Prefer storing a `std::string` (or other owning type) and return `c_str()` from it.</violation>
</file>

<file name="src/compiler/include/sourcemeta/blaze/compiler_error.h">

<violation number="1" location="src/compiler/include/sourcemeta/blaze/compiler_error.h:32">
P2: CompilerError now stores a raw const char* without owning the memory, so `what()` can return a dangling pointer if callers pass a short-lived string. This is a correctness/lifetime regression compared to owning a std::string.</violation>
</file>

<file name="src/linter/include/sourcemeta/blaze/linter_error.h">

<violation number="1" location="src/linter/include/sourcemeta/blaze/linter_error.h:56">
P1: `LinterInvalidNameError` now stores `message` as a raw `const char *`, which can dangle and make `what()` return invalid memory for non-literal inputs.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@augmentcode
Copy link

augmentcode bot commented Mar 5, 2026

🤖 Augment PR Summary

Summary: This PR refines Blaze’s compiler/linter (and related) error types to be more specific and easier to assert on.

Changes:

  • Reworked several error classes to accept const char* messages and return them directly from what() (compiler, evaluator, linter, test).
  • Introduced CompilerInvalidRegexError to represent regex-compilation failures and expose the failing regex via regex().
  • Introduced LinterInvalidNamePatternError to distinguish “name doesn’t match pattern” from other invalid-name cases and expose the required regex.
  • Updated the draft4 compiler’s regex parsing to throw the new compiler regex error instead of composing a string message.
  • Updated linter schema name validation to throw the new pattern error.
  • Adjusted evaluator and linter tests to assert on the new error types/messages and additional structured fields.

Technical Notes: The changes shift several exceptions from owning std::string messages to storing message pointers, and add more granular exception types for regex/pattern-related failures.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 3 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

/// An error that represents a schema rule name that does not match
/// the required pattern
class SOURCEMETA_BLAZE_LINTER_EXPORT LinterInvalidNamePatternError
: public std::exception {
Copy link

Choose a reason for hiding this comment

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

LinterInvalidNamePatternError isn’t a LinterInvalidNameError, so code catching LinterInvalidNameError won’t handle pattern violations anymore. If this is an intentional API-surface change, it may need explicit documentation or a shared base for “invalid name” errors.

Severity: medium

Other Locations
  • src/linter/schema.cc:28

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark (linux/llvm)

Details
Benchmark suite Current: ed8bc23 Previous: 7ccc978 Ratio
E2E_Compiler_adaptivecard 62541554.59999993 ns/iter 60605809.22222572 ns/iter 1.03
E2E_Compiler_ansible_meta 26700406.692308083 ns/iter 26825802.153845973 ns/iter 1.00
E2E_Compiler_aws_cdk 348534.7117296211 ns/iter 352864.27707807743 ns/iter 0.99
E2E_Compiler_babelrc 2413536.203448334 ns/iter 2441206.5824559215 ns/iter 0.99
E2E_Compiler_clang_format 17059999.8536584 ns/iter 17251023.463414617 ns/iter 0.99
E2E_Compiler_cmake_presets 24900466.500000108 ns/iter 25401362.499999486 ns/iter 0.98
E2E_Compiler_code_climate 2378688.891156469 ns/iter 2431475.836805832 ns/iter 0.98
E2E_Compiler_cql2 12693552.178571314 ns/iter 13005409.46296333 ns/iter 0.98
E2E_Compiler_cspell 22038806.84374937 ns/iter 22805654.32258094 ns/iter 0.97
E2E_Compiler_cypress 3813523.3586954623 ns/iter 3881244.895027903 ns/iter 0.98
E2E_Compiler_deno 7140151.479591493 ns/iter 7256234.587628372 ns/iter 0.98
E2E_Compiler_dependabot 3610517.8556700833 ns/iter 3673396.717277226 ns/iter 0.98
E2E_Compiler_draft_04 2502033.189285718 ns/iter 2544081.0769227953 ns/iter 0.98
E2E_Compiler_fabric_mod 4452376.719745302 ns/iter 4525506.735484258 ns/iter 0.98
E2E_Compiler_geojson 20730420.970588002 ns/iter 21251334.696967896 ns/iter 0.98
E2E_Compiler_gitpod_configuration 4574100.0980393775 ns/iter 4663449.560000572 ns/iter 0.98
E2E_Compiler_helm_chart_lock 654294.6904986091 ns/iter 666108.2535612405 ns/iter 0.98
E2E_Compiler_importmap 264253.7341629017 ns/iter 268640.02714067855 ns/iter 0.98
E2E_Compiler_jasmine 1269983.8548094444 ns/iter 1285421.1266055636 ns/iter 0.99
E2E_Compiler_jshintrc 4062363.1627907176 ns/iter 4164788.8333331128 ns/iter 0.98
E2E_Compiler_jsconfig 20361016.55882222 ns/iter 20983764.060605556 ns/iter 0.97
E2E_Compiler_krakend 131468517.79999907 ns/iter 145523488.799995 ns/iter 0.90
E2E_Compiler_lazygit 31408682.521739297 ns/iter 32060317.545456614 ns/iter 0.98
E2E_Compiler_lerna 1481485.4491524298 ns/iter 1516482.3203464113 ns/iter 0.98
E2E_Compiler_nest_cli 6904858.346534539 ns/iter 7060885.939394111 ns/iter 0.98
E2E_Compiler_omc 153487663.60000354 ns/iter 156371021.7500045 ns/iter 0.98
E2E_Compiler_omnisharp 6201686.725663759 ns/iter 6330849.666666451 ns/iter 0.98
E2E_Compiler_openapi 23414078.166666742 ns/iter 23991757.517239485 ns/iter 0.98
E2E_Compiler_pre_commit_hooks 5157508.390000203 ns/iter 5078695.009999592 ns/iter 1.02
E2E_Compiler_pulumi 3767340.2216218947 ns/iter 3851207.269231229 ns/iter 0.98
E2E_Compiler_semantic_release 1453647.7468879386 ns/iter 1479319.828389908 ns/iter 0.98
E2E_Compiler_stale 1442947.5946502658 ns/iter 1468600.5378150793 ns/iter 0.98
E2E_Compiler_stylecop 5573621.016000288 ns/iter 5615436.45599977 ns/iter 0.99
E2E_Compiler_tmuxinator 1808117.0257069985 ns/iter 1822997.9947917603 ns/iter 0.99
E2E_Compiler_ui5 45912879.73333161 ns/iter 47404924.33333353 ns/iter 0.97
E2E_Compiler_ui5_manifest 302227649.49999714 ns/iter 318892762.4999565 ns/iter 0.95
E2E_Compiler_unreal_engine_uproject 4254933.042682782 ns/iter 4339224.167701647 ns/iter 0.98
E2E_Compiler_vercel 12145072.827586278 ns/iter 12454371.035715895 ns/iter 0.98
E2E_Compiler_yamllint 321880.6320147246 ns/iter 328084.1673699317 ns/iter 0.98
E2E_Evaluator_adaptivecard 26284.823080170852 ns/iter 28925.16329161394 ns/iter 0.91
E2E_Evaluator_ansible_meta 238110.20755989072 ns/iter 246798.71418542307 ns/iter 0.96
E2E_Evaluator_aws_cdk 52408.30669383427 ns/iter 53660.41916305982 ns/iter 0.98
E2E_Evaluator_babelrc 108343.09645759946 ns/iter 109050.90840048993 ns/iter 0.99
E2E_Evaluator_cerebrum_criminal_case 1319617.7549407824 ns/iter 1416228.8588957859 ns/iter 0.93
E2E_Evaluator_clang_format 128600.82250601555 ns/iter 129362.5947202047 ns/iter 0.99
E2E_Evaluator_cmake_presets 4596452.614906787 ns/iter 4575534.000000392 ns/iter 1.00
E2E_Evaluator_code_climate 182831.0989528912 ns/iter 185799.5268447404 ns/iter 0.98
E2E_Evaluator_cql2 217030.89920098413 ns/iter 229699.67409839318 ns/iter 0.94
E2E_Evaluator_cspell 578229.9702479279 ns/iter 589360.8026868158 ns/iter 0.98
E2E_Evaluator_cypress 196743.50152734618 ns/iter 194378.93667693814 ns/iter 1.01
E2E_Evaluator_deno 329104.14399252215 ns/iter 331125.1882353056 ns/iter 0.99
E2E_Evaluator_dependabot 435595.3132530003 ns/iter 434821.4419614762 ns/iter 1.00
E2E_Evaluator_draft_04 7499823.739583652 ns/iter 8144404.055556404 ns/iter 0.92
E2E_Evaluator_fabric_mod 712156.5857438076 ns/iter 713956.2931562589 ns/iter 1.00
E2E_Evaluator_geojson 15795477.911110032 ns/iter 16200645.441860912 ns/iter 0.97
E2E_Evaluator_gitpod_configuration 241924.9057771689 ns/iter 244702.11533100365 ns/iter 0.99
E2E_Evaluator_helm_chart_lock 363386.37945278926 ns/iter 377946.8884002233 ns/iter 0.96
E2E_Evaluator_importmap 50172.54849999517 ns/iter 53001.21651170967 ns/iter 0.95
E2E_Evaluator_jasmine 108867.25883447561 ns/iter 109578.01359800345 ns/iter 0.99
E2E_Evaluator_jshintrc 1235887.5559440805 ns/iter 1223245.0000000254 ns/iter 1.01
E2E_Evaluator_jsconfig 427077.8576642401 ns/iter 437024.6770767801 ns/iter 0.98
E2E_Evaluator_krakend 225302.262088983 ns/iter 234831.3711236921 ns/iter 0.96
E2E_Evaluator_lazygit 157531.11366680352 ns/iter 169500.1862653059 ns/iter 0.93
E2E_Evaluator_lerna 151624.62824957224 ns/iter 159405.35593220525 ns/iter 0.95
E2E_Evaluator_nest_cli 186918.45026738182 ns/iter 192566.67713740634 ns/iter 0.97
E2E_Evaluator_omc 21336.40951489722 ns/iter 22081.727961845634 ns/iter 0.97
E2E_Evaluator_omnisharp 627998.2808888841 ns/iter 634862.7437788426 ns/iter 0.99
E2E_Evaluator_openapi 12468968.981481668 ns/iter 14181206.53191549 ns/iter 0.88
E2E_Evaluator_pre_commit_hooks 502436.11844939436 ns/iter 497954.9353693552 ns/iter 1.01
E2E_Evaluator_pulumi 704263.748230534 ns/iter 721515.7888774428 ns/iter 0.98
E2E_Evaluator_semantic_release 101504.72019985993 ns/iter 103034.30039584848 ns/iter 0.99
E2E_Evaluator_stale 155665.05710519964 ns/iter 157538.0867992777 ns/iter 0.99
E2E_Evaluator_stylecop 298693.4034557197 ns/iter 304923.7282230079 ns/iter 0.98
E2E_Evaluator_tmuxinator 97984.55806313665 ns/iter 101092.08535541303 ns/iter 0.97
E2E_Evaluator_ui5 544992.8775193669 ns/iter 562574.8502801816 ns/iter 0.97
E2E_Evaluator_ui5_manifest 2645306.9887641384 ns/iter 2715062.873517666 ns/iter 0.97
E2E_Evaluator_unreal_engine_uproject 438433.4429824279 ns/iter 442976.8610062701 ns/iter 0.99
E2E_Evaluator_vercel 320093.2778031841 ns/iter 323949.3911049693 ns/iter 0.99
E2E_Evaluator_yamllint 11508.840034048795 ns/iter 11566.463806347414 ns/iter 1.00
Micro_Draft4_Meta_1_No_Callback 194.42784095466052 ns/iter 195.12867782997344 ns/iter 1.00
Micro_Draft4_Required_Properties 812.7437662247106 ns/iter 853.817666446414 ns/iter 0.95
Micro_Draft4_Many_Optional_Properties_Minimal_Match 24.993822613263532 ns/iter 24.825607751153427 ns/iter 1.01
Micro_Draft4_Few_Optional_Properties_Minimal_Match 13.689129139867303 ns/iter 14.007255272990934 ns/iter 0.98
Micro_Draft4_Items_Schema 296.07783711778353 ns/iter 276.5665814678717 ns/iter 1.07
Micro_Draft4_Nested_Object 3.7347370460195197 ns/iter 3.7358596681987652 ns/iter 1.00
Micro_Draft4_Properties_Triad_Optional 346.01068129748757 ns/iter 353.5528537963184 ns/iter 0.98
Micro_Draft4_Properties_Triad_Closed 284.9679963517365 ns/iter 289.6225865633432 ns/iter 0.98
Micro_Draft4_Properties_Triad_Required 362.40923244042307 ns/iter 375.2175133478574 ns/iter 0.97
Micro_Draft4_Properties_Closed 61.25084213281499 ns/iter 61.06007112356457 ns/iter 1.00
Micro_Draft4_Non_Recursive_Ref 14.268291999704944 ns/iter 14.257653233755489 ns/iter 1.00
Micro_Draft4_Pattern_Properties_True 214.3802864050369 ns/iter 229.38177980501612 ns/iter 0.93
Micro_Draft4_Ref_To_Single_Property 13.697750249179311 ns/iter 14.003960292159398 ns/iter 0.98
Micro_Draft4_Additional_Properties_Type 24.19240124774082 ns/iter 23.35784476372483 ns/iter 1.04
Micro_Draft4_Nested_Oneof 59.14654157143236 ns/iter 60.436950646578474 ns/iter 0.98
Micro_Draft4_Short_Enum 13.227968568971557 ns/iter 13.23382572957602 ns/iter 1.00
Micro_Draft4_Long_Enum 16.289875619245933 ns/iter 15.898289471799469 ns/iter 1.02
Micro_Draft4_Long_Enum_Short_Strings 13.075089881895954 ns/iter 13.086536062934243 ns/iter 1.00
Micro_Draft4_Type_Object 5.9166282144757405 ns/iter 5.914018987972798 ns/iter 1.00
Micro_Draft4_Ref_Single_100 2337162.5566666885 ns/iter 2337022.9235881222 ns/iter 1.00
Micro_Draft4_Compile_Ref_Many_Nested 1691024.431325315 ns/iter 1697368.7372262895 ns/iter 1.00
Micro_Draft4_Compile_Wrap 2292966.084967307 ns/iter 2318098.937499931 ns/iter 0.99
Micro_Draft6_Property_Names 112.59416777081985 ns/iter 128.50948823462676 ns/iter 0.88
Micro_Draft6_Compile_FHIR 14023042814.999996 ns/iter 14616959809.000036 ns/iter 0.96
Micro_Draft7_If_Then_Else 26.163461503955798 ns/iter 26.489361273224628 ns/iter 0.99
Micro_2019_09_Unevaluated_Properties 36.47689543335882 ns/iter 37.10413752680792 ns/iter 0.98
Micro_2019_09_Compile_Wrap 273472267.99999666 ns/iter 294086097.5000419 ns/iter 0.93
Micro_2019_09_KrakenD_Linter_Check 1174492073.9999998 ns/iter 1178088746.0000713 ns/iter 1.00
Micro_2019_09_KrakenD_Linter_Apply 10194129920.999956 ns/iter 10471845214.999916 ns/iter 0.97
Micro_2020_12_Dynamic_Ref 228.1341514796037 ns/iter 212.1400331712371 ns/iter 1.08
Micro_2020_12_Dynamic_Ref_Single 5.916901666249252 ns/iter 5.916554752003852 ns/iter 1.00
Micro_2020_12_Simple_Output_Mask 139427.45494244059 ns/iter 140759.01233829782 ns/iter 0.99
Micro_2020_12_Simple_Output_Annotations 165928.5214825149 ns/iter 170185.57010710659 ns/iter 0.97
Micro_2020_12_Compile_NonCircular_Shared_Refs 1019308.223032094 ns/iter 1032450.4594993094 ns/iter 0.99

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

@jviotti jviotti merged commit d44f6f1 into main Mar 5, 2026
14 checks passed
@jviotti jviotti deleted the better-errors-class branch March 5, 2026 20:21
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark (macos/llvm)

Details
Benchmark suite Current: ed8bc23 Previous: 7ccc978 Ratio
E2E_Compiler_adaptivecard 56802517.41665643 ns/iter 55571072.916677624 ns/iter 1.02
E2E_Compiler_ansible_meta 24494862.363636374 ns/iter 21940428.77418988 ns/iter 1.12
E2E_Compiler_aws_cdk 252402.19760262468 ns/iter 242988.95364009074 ns/iter 1.04
E2E_Compiler_babelrc 2130502.625926022 ns/iter 1953932.0054941075 ns/iter 1.09
E2E_Compiler_clang_format 13923075.980390457 ns/iter 13354806.31481308 ns/iter 1.04
E2E_Compiler_cmake_presets 26412963.15384632 ns/iter 25631007.428574193 ns/iter 1.03
E2E_Compiler_code_climate 2011965.7940302938 ns/iter 2180236.4694535155 ns/iter 0.92
E2E_Compiler_cql2 12868204.918034831 ns/iter 13793647.170209719 ns/iter 0.93
E2E_Compiler_cspell 20172354.771433935 ns/iter 22557501.400001455 ns/iter 0.89
E2E_Compiler_cypress 3641198.6701031094 ns/iter 4057706.8779064803 ns/iter 0.90
E2E_Compiler_deno 6727105.290323263 ns/iter 7061638.2499999665 ns/iter 0.95
E2E_Compiler_dependabot 3369221.1376152514 ns/iter 3749340.3532602824 ns/iter 0.90
E2E_Compiler_draft_04 1736244.6121373463 ns/iter 2189156.640625356 ns/iter 0.79
E2E_Compiler_fabric_mod 3226937.7000007113 ns/iter 3789204.951350699 ns/iter 0.85
E2E_Compiler_geojson 20533101.833330467 ns/iter 23804356.933336142 ns/iter 0.86
E2E_Compiler_gitpod_configuration 4066058.725145507 ns/iter 4445520.447852184 ns/iter 0.91
E2E_Compiler_helm_chart_lock 462488.91106713086 ns/iter 516807.54897503287 ns/iter 0.89
E2E_Compiler_importmap 174455.28902669734 ns/iter 172834.77295159095 ns/iter 1.01
E2E_Compiler_jasmine 967594.8596489037 ns/iter 949244.9792244183 ns/iter 1.02
E2E_Compiler_jshintrc 2807932.539681927 ns/iter 2814587.648648133 ns/iter 1.00
E2E_Compiler_jsconfig 17013381.95237852 ns/iter 17019881.767441273 ns/iter 1.00
E2E_Compiler_krakend 124528555.666681 ns/iter 125010549.99997905 ns/iter 1.00
E2E_Compiler_lazygit 33369818.82609072 ns/iter 29808444.41666856 ns/iter 1.12
E2E_Compiler_lerna 1365411.4873787372 ns/iter 1184411.8957263622 ns/iter 1.15
E2E_Compiler_nest_cli 6083592.4571425235 ns/iter 5651195.192308478 ns/iter 1.08
E2E_Compiler_omc 154281458.25001138 ns/iter 150113533.40000823 ns/iter 1.03
E2E_Compiler_omnisharp 6417965.17187565 ns/iter 5262316.176469995 ns/iter 1.22
E2E_Compiler_openapi 23051813.812500656 ns/iter 20006840.2666678 ns/iter 1.15
E2E_Compiler_pre_commit_hooks 4252483.108107729 ns/iter 4563059.491328588 ns/iter 0.93
E2E_Compiler_pulumi 3382424.18981462 ns/iter 3485281.8877557553 ns/iter 0.97
E2E_Compiler_semantic_release 1042168.6808510548 ns/iter 1300024.2574255008 ns/iter 0.80
E2E_Compiler_stale 1140073.071547657 ns/iter 1332500.7367489252 ns/iter 0.86
E2E_Compiler_stylecop 5615060.840000297 ns/iter 5704056.280702038 ns/iter 0.98
E2E_Compiler_tmuxinator 1661590.2255639562 ns/iter 1644828.7142857555 ns/iter 1.01
E2E_Compiler_ui5 49759534.09091909 ns/iter 58656870.333329104 ns/iter 0.85
E2E_Compiler_ui5_manifest 352354874.99994636 ns/iter 338841958.4999838 ns/iter 1.04
E2E_Compiler_unreal_engine_uproject 3396775.8838387434 ns/iter 3983491.149999452 ns/iter 0.85
E2E_Compiler_vercel 11667868.534483079 ns/iter 13914105.02083564 ns/iter 0.84
E2E_Compiler_yamllint 223840.79330426417 ns/iter 243692.60442806897 ns/iter 0.92
E2E_Evaluator_adaptivecard 18978.56170015914 ns/iter 19446.888500027497 ns/iter 0.98
E2E_Evaluator_ansible_meta 162042.99713720137 ns/iter 160652.394528612 ns/iter 1.01
E2E_Evaluator_aws_cdk 39771.85439502198 ns/iter 34169.97831039733 ns/iter 1.16
E2E_Evaluator_babelrc 95612.77600002287 ns/iter 79522.96877469968 ns/iter 1.20
E2E_Evaluator_cerebrum_criminal_case 857477.2408758595 ns/iter 1022165.1591896636 ns/iter 0.84
E2E_Evaluator_clang_format 97281.57623844585 ns/iter 114264.47370042303 ns/iter 0.85
E2E_Evaluator_cmake_presets 3308101.5181819983 ns/iter 3801561.6071431525 ns/iter 0.87
E2E_Evaluator_code_climate 138177.97392690697 ns/iter 151906.1664761191 ns/iter 0.91
E2E_Evaluator_cql2 151770.4535266652 ns/iter 149861.0774818652 ns/iter 1.01
E2E_Evaluator_cspell 352667.85204342974 ns/iter 386663.38760112505 ns/iter 0.91
E2E_Evaluator_cypress 154328.78939466947 ns/iter 164324.2596366898 ns/iter 0.94
E2E_Evaluator_deno 222901.87481104725 ns/iter 259902.5951860046 ns/iter 0.86
E2E_Evaluator_dependabot 290610.98560863966 ns/iter 363349.79823792784 ns/iter 0.80
E2E_Evaluator_draft_04 4800659.330985773 ns/iter 6190939.999999045 ns/iter 0.78
E2E_Evaluator_fabric_mod 536298.3234153108 ns/iter 477963.9490222657 ns/iter 1.12
E2E_Evaluator_geojson 11034369.042857049 ns/iter 12340703.765623573 ns/iter 0.89
E2E_Evaluator_gitpod_configuration 193032.7234342165 ns/iter 162810.21078091738 ns/iter 1.19
E2E_Evaluator_helm_chart_lock 257758.26191177708 ns/iter 207310.13891656054 ns/iter 1.24
E2E_Evaluator_importmap 37919.59565653476 ns/iter 40723.28527438663 ns/iter 0.93
E2E_Evaluator_jasmine 111289.32429056469 ns/iter 93449.13286302233 ns/iter 1.19
E2E_Evaluator_jshintrc 1188646.049689941 ns/iter 919858.5652774859 ns/iter 1.29
E2E_Evaluator_jsconfig 311872.0014889626 ns/iter 307029.55190225877 ns/iter 1.02
E2E_Evaluator_krakend 131519.19712643896 ns/iter 131543.12649822436 ns/iter 1.00
E2E_Evaluator_lazygit 130172.20674097206 ns/iter 93274.60129854635 ns/iter 1.40
E2E_Evaluator_lerna 122801.62328653994 ns/iter 114622.64314292937 ns/iter 1.07
E2E_Evaluator_nest_cli 164626.64901056935 ns/iter 146058.05685902046 ns/iter 1.13
E2E_Evaluator_omc 18236.075947118432 ns/iter 20771.844590317964 ns/iter 0.88
E2E_Evaluator_omnisharp 428139.2528090795 ns/iter 433207.3816106102 ns/iter 0.99
E2E_Evaluator_openapi 11956765.350883838 ns/iter 9451451.10666696 ns/iter 1.27
E2E_Evaluator_pre_commit_hooks 344477.55167472013 ns/iter 337365.2409638716 ns/iter 1.02
E2E_Evaluator_pulumi 555185.24667936 ns/iter 512204.9357798365 ns/iter 1.08
E2E_Evaluator_semantic_release 74025.48712442223 ns/iter 74337.92220665155 ns/iter 1.00
E2E_Evaluator_stale 135291.2589856479 ns/iter 139304.9794481804 ns/iter 0.97
E2E_Evaluator_stylecop 238868.29642152716 ns/iter 187047.99082004878 ns/iter 1.28
E2E_Evaluator_tmuxinator 71341.19630370571 ns/iter 72073.5241639548 ns/iter 0.99
E2E_Evaluator_ui5 457385.91152020235 ns/iter 341498.42261607863 ns/iter 1.34
E2E_Evaluator_ui5_manifest 1703286.4281446962 ns/iter 1657724.5065793465 ns/iter 1.03
E2E_Evaluator_unreal_engine_uproject 405391.5745856941 ns/iter 311583.17808853 ns/iter 1.30
E2E_Evaluator_vercel 303298.26315803645 ns/iter 218076.1343102221 ns/iter 1.39
E2E_Evaluator_yamllint 9671.790082852043 ns/iter 12266.68509631575 ns/iter 0.79
Micro_Draft4_Meta_1_No_Callback 141.8566920998839 ns/iter 174.4773197047629 ns/iter 0.81
Micro_Draft4_Required_Properties 633.1460426614161 ns/iter 858.1455323217936 ns/iter 0.74
Micro_Draft4_Many_Optional_Properties_Minimal_Match 20.16553478092845 ns/iter 24.016914106224267 ns/iter 0.84
Micro_Draft4_Few_Optional_Properties_Minimal_Match 9.200614266932412 ns/iter 10.689481185737773 ns/iter 0.86
Micro_Draft4_Items_Schema 259.2771554080349 ns/iter 290.2599029318866 ns/iter 0.89
Micro_Draft4_Nested_Object 2.8047571295041585 ns/iter 2.7364382055424845 ns/iter 1.02
Micro_Draft4_Properties_Triad_Optional 207.66002601938433 ns/iter 211.19305744752913 ns/iter 0.98
Micro_Draft4_Properties_Triad_Closed 168.41074359960984 ns/iter 177.22815467432162 ns/iter 0.95
Micro_Draft4_Properties_Triad_Required 263.5307844000582 ns/iter 219.27495834902768 ns/iter 1.20
Micro_Draft4_Properties_Closed 49.58699078923793 ns/iter 40.10661004785499 ns/iter 1.24
Micro_Draft4_Non_Recursive_Ref 15.913105621207873 ns/iter 12.432649603410262 ns/iter 1.28
Micro_Draft4_Pattern_Properties_True 178.44341502095244 ns/iter 145.87254659822935 ns/iter 1.22
Micro_Draft4_Ref_To_Single_Property 11.333199822500156 ns/iter 9.139097557726425 ns/iter 1.24
Micro_Draft4_Additional_Properties_Type 32.332048405514804 ns/iter 25.632561737012942 ns/iter 1.26
Micro_Draft4_Nested_Oneof 52.07339897354005 ns/iter 44.967149307100726 ns/iter 1.16
Micro_Draft4_Short_Enum 9.902093651513146 ns/iter 7.370484579321456 ns/iter 1.34
Micro_Draft4_Long_Enum 16.23733267976291 ns/iter 13.137258223090955 ns/iter 1.24
Micro_Draft4_Long_Enum_Short_Strings 11.196280238541947 ns/iter 9.753814486654845 ns/iter 1.15
Micro_Draft4_Type_Object 4.7078596678998474 ns/iter 5.413969883468192 ns/iter 0.87
Micro_Draft4_Ref_Single_100 1739641.6684938255 ns/iter 2256049.1666672532 ns/iter 0.77
Micro_Draft4_Compile_Ref_Many_Nested 1337940.1240154323 ns/iter 1553567.2451188748 ns/iter 0.86
Micro_Draft4_Compile_Wrap 2202549.2307693637 ns/iter 2507246.018382148 ns/iter 0.88
Micro_Draft6_Property_Names 99.5239491425424 ns/iter 115.32378549357402 ns/iter 0.86
Micro_Draft6_Compile_FHIR 13479357541.99989 ns/iter 8662432082.999659 ns/iter 1.56
Micro_Draft7_If_Then_Else 35.7579261037745 ns/iter 19.14153139337291 ns/iter 1.87
Micro_2019_09_Unevaluated_Properties 29.902041930814185 ns/iter 30.398227504691473 ns/iter 0.98
Micro_2019_09_Compile_Wrap 291897145.4998882 ns/iter 336249333.00006884 ns/iter 0.87
Micro_2019_09_KrakenD_Linter_Check 553915041.9999714 ns/iter 791506124.9996142 ns/iter 0.70
Micro_2019_09_KrakenD_Linter_Apply 5458115333.000024 ns/iter 6704244584.000662 ns/iter 0.81
Micro_2020_12_Dynamic_Ref 201.17072237140593 ns/iter 210.77877301660783 ns/iter 0.95
Micro_2020_12_Dynamic_Ref_Single 4.3381685928722815 ns/iter 4.148657307829617 ns/iter 1.05
Micro_2020_12_Simple_Output_Mask 157356.9735735471 ns/iter 143669.54406710778 ns/iter 1.10
Micro_2020_12_Simple_Output_Annotations 169791.46284650784 ns/iter 145514.00995647997 ns/iter 1.17
Micro_2020_12_Compile_NonCircular_Shared_Refs 923330.9411766083 ns/iter 814453.8043481446 ns/iter 1.13

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

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark (linux/gcc)

Details
Benchmark suite Current: ed8bc23 Previous: 7ccc978 Ratio
Micro_2020_12_Dynamic_Ref 281.3171807355972 ns/iter 309.884541317847 ns/iter 0.91
Micro_2020_12_Dynamic_Ref_Single 6.6903767550191855 ns/iter 6.891739271975582 ns/iter 0.97
Micro_2020_12_Simple_Output_Mask 141377.7883109195 ns/iter 143154.98781218263 ns/iter 0.99
Micro_2020_12_Simple_Output_Annotations 166241.83850342548 ns/iter 174834.56585243074 ns/iter 0.95
Micro_2020_12_Compile_NonCircular_Shared_Refs 1170267.3804713278 ns/iter 1157339.7034598559 ns/iter 1.01
Micro_2019_09_Unevaluated_Properties 32.39249396690378 ns/iter 34.45918273659286 ns/iter 0.94
Micro_2019_09_Compile_Wrap 323881864.99997574 ns/iter 324936724.49993485 ns/iter 1.00
Micro_2019_09_KrakenD_Linter_Check 1375450504.0001278 ns/iter 1302371202.0001311 ns/iter 1.06
Micro_2019_09_KrakenD_Linter_Apply 12197398232.000069 ns/iter 10697903908.999933 ns/iter 1.14
Micro_Draft7_If_Then_Else 28.427185773889235 ns/iter 29.01094632738711 ns/iter 0.98
Micro_Draft6_Property_Names 145.5253451508615 ns/iter 144.73299780822265 ns/iter 1.01
Micro_Draft6_Compile_FHIR 16256326761.000082 ns/iter 13497580793.999987 ns/iter 1.20
Micro_Draft4_Meta_1_No_Callback 177.08669783145663 ns/iter 173.11271907840592 ns/iter 1.02
Micro_Draft4_Required_Properties 818.3442403199376 ns/iter 813.649369203564 ns/iter 1.01
Micro_Draft4_Many_Optional_Properties_Minimal_Match 24.51248956886946 ns/iter 23.699578855568163 ns/iter 1.03
Micro_Draft4_Few_Optional_Properties_Minimal_Match 15.165867346345884 ns/iter 15.929362294984703 ns/iter 0.95
Micro_Draft4_Items_Schema 329.87399555897935 ns/iter 416.0446571849201 ns/iter 0.79
Micro_Draft4_Nested_Object 4.575673220703886 ns/iter 4.049177667485243 ns/iter 1.13
Micro_Draft4_Properties_Triad_Optional 411.4546539009033 ns/iter 409.53298594794785 ns/iter 1.00
Micro_Draft4_Properties_Triad_Closed 348.1055472254019 ns/iter 321.3639857957684 ns/iter 1.08
Micro_Draft4_Properties_Triad_Required 463.1594285175683 ns/iter 417.4315399322376 ns/iter 1.11
Micro_Draft4_Properties_Closed 66.3362939742142 ns/iter 65.16365227287655 ns/iter 1.02
Micro_Draft4_Non_Recursive_Ref 12.349921287262067 ns/iter 11.865314615318812 ns/iter 1.04
Micro_Draft4_Pattern_Properties_True 210.4812131771701 ns/iter 224.6082702781878 ns/iter 0.94
Micro_Draft4_Ref_To_Single_Property 15.412536980714044 ns/iter 16.234318148004412 ns/iter 0.95
Micro_Draft4_Additional_Properties_Type 18.471908241507805 ns/iter 17.500213338595582 ns/iter 1.06
Micro_Draft4_Nested_Oneof 67.79055004862852 ns/iter 74.42043783554448 ns/iter 0.91
Micro_Draft4_Short_Enum 16.251549031861643 ns/iter 14.00852172452511 ns/iter 1.16
Micro_Draft4_Long_Enum 16.339521919342154 ns/iter 16.550772861968287 ns/iter 0.99
Micro_Draft4_Long_Enum_Short_Strings 16.33842699682013 ns/iter 14.021107564461014 ns/iter 1.17
Micro_Draft4_Type_Object 6.695337999209691 ns/iter 6.887956461407461 ns/iter 0.97
Micro_Draft4_Ref_Single_100 2535844.4007223714 ns/iter 2444813.2097902275 ns/iter 1.04
Micro_Draft4_Compile_Ref_Many_Nested 1856585.214285727 ns/iter 1768309.5050500408 ns/iter 1.05
Micro_Draft4_Compile_Wrap 2629708.0150378407 ns/iter 2479539.010676804 ns/iter 1.06
E2E_Compiler_adaptivecard 65767384.45454049 ns/iter 66056859.60000756 ns/iter 1.00
E2E_Compiler_ansible_meta 30485029.173909742 ns/iter 28370204.84000277 ns/iter 1.07
E2E_Compiler_aws_cdk 395871.8131369896 ns/iter 396728.8605174885 ns/iter 1.00
E2E_Compiler_babelrc 2847239.0956169358 ns/iter 2685781.291188244 ns/iter 1.06
E2E_Compiler_clang_format 19826289.428575754 ns/iter 18824466.40540267 ns/iter 1.05
E2E_Compiler_cmake_presets 28344393.92000604 ns/iter 26645411.653852046 ns/iter 1.06
E2E_Compiler_code_climate 2798695.702810973 ns/iter 2665467.9201520616 ns/iter 1.05
E2E_Compiler_cql2 14392494.061226267 ns/iter 13917889.137255592 ns/iter 1.03
E2E_Compiler_cspell 24813031.571422275 ns/iter 23575192.333335813 ns/iter 1.05
E2E_Compiler_cypress 4333778.888199699 ns/iter 4053988.473988494 ns/iter 1.07
E2E_Compiler_deno 8141663.9651162 ns/iter 7810727.38202434 ns/iter 1.04
E2E_Compiler_dependabot 4201822.730538732 ns/iter 4026111.862069082 ns/iter 1.04
E2E_Compiler_draft_04 2911364.842323553 ns/iter 2818056.0725806737 ns/iter 1.03
E2E_Compiler_fabric_mod 5149161.735292798 ns/iter 4962030.269503008 ns/iter 1.04
E2E_Compiler_geojson 24204355.89655081 ns/iter 23324470.793097824 ns/iter 1.04
E2E_Compiler_gitpod_configuration 5226313.470149844 ns/iter 5046692.700000222 ns/iter 1.04
E2E_Compiler_helm_chart_lock 714572.0744138905 ns/iter 711175.6474163763 ns/iter 1.00
E2E_Compiler_importmap 296597.0967878075 ns/iter 298438.4299702673 ns/iter 0.99
E2E_Compiler_jasmine 1444875.885245896 ns/iter 1396303.300601017 ns/iter 1.03
E2E_Compiler_jshintrc 4742519.986576865 ns/iter 4523136.601307545 ns/iter 1.05
E2E_Compiler_jsconfig 22919378.58064058 ns/iter 22884460.03225427 ns/iter 1.00
E2E_Compiler_krakend 142380584.00001138 ns/iter 143959438.79999322 ns/iter 0.99
E2E_Compiler_lazygit 35920216.600004554 ns/iter 34296208.61904715 ns/iter 1.05
E2E_Compiler_lerna 1713854.84107589 ns/iter 1674428.2446555162 ns/iter 1.02
E2E_Compiler_nest_cli 7956613.999999201 ns/iter 7655599.043477215 ns/iter 1.04
E2E_Compiler_omc 162939468.4999852 ns/iter 169862462.99995854 ns/iter 0.96
E2E_Compiler_omnisharp 7120834.8979604235 ns/iter 6898591.582523419 ns/iter 1.03
E2E_Compiler_openapi 26842536.730773993 ns/iter 26132179.592591625 ns/iter 1.03
E2E_Compiler_pre_commit_hooks 5740163.016393588 ns/iter 5493862.927998634 ns/iter 1.04
E2E_Compiler_pulumi 4344269.639751411 ns/iter 4210506.487952279 ns/iter 1.03
E2E_Compiler_semantic_release 1676034.3723152692 ns/iter 1629347.4498833492 ns/iter 1.03
E2E_Compiler_stale 1652539.5505884849 ns/iter 1591018.330295945 ns/iter 1.04
E2E_Compiler_stylecop 6185238.55752023 ns/iter 5865626.258332668 ns/iter 1.05
E2E_Compiler_tmuxinator 2089782.8422619116 ns/iter 2030264.3052325705 ns/iter 1.03
E2E_Compiler_ui5 52515997.38461174 ns/iter 49302324.928573534 ns/iter 1.07
E2E_Compiler_ui5_manifest 319909655.50005513 ns/iter 338764187.50003266 ns/iter 0.94
E2E_Compiler_unreal_engine_uproject 4893850.321679082 ns/iter 4703056.845636754 ns/iter 1.04
E2E_Compiler_vercel 13549990.764708057 ns/iter 12902782.999996511 ns/iter 1.05
E2E_Compiler_yamllint 361569.03364394425 ns/iter 372668.92227440677 ns/iter 0.97
E2E_Evaluator_adaptivecard 24726.588499717865 ns/iter 24258.0763445269 ns/iter 1.02
E2E_Evaluator_ansible_meta 235974.12685062207 ns/iter 258190.22896852554 ns/iter 0.91
E2E_Evaluator_aws_cdk 43525.62665284342 ns/iter 53020.52273580093 ns/iter 0.82
E2E_Evaluator_babelrc 120508.26547618606 ns/iter 108548.51745982408 ns/iter 1.11
E2E_Evaluator_cerebrum_criminal_case 1374615.760784193 ns/iter 1398489.0525254668 ns/iter 0.98
E2E_Evaluator_clang_format 96955.79466999829 ns/iter 113452.13887529625 ns/iter 0.85
E2E_Evaluator_cmake_presets 4521419.441557969 ns/iter 4920773.016529208 ns/iter 0.92
E2E_Evaluator_code_climate 164887.33735795377 ns/iter 200580.19146551413 ns/iter 0.82
E2E_Evaluator_cql2 210989.11612307862 ns/iter 231135.03638768697 ns/iter 0.91
E2E_Evaluator_cspell 550998.3849001006 ns/iter 567909.0726071742 ns/iter 0.97
E2E_Evaluator_cypress 141527.69544899155 ns/iter 185330.71351074387 ns/iter 0.76
E2E_Evaluator_deno 270704.9039813125 ns/iter 332932.4697115401 ns/iter 0.81
E2E_Evaluator_dependabot 433862.53140398016 ns/iter 476883.28716899524 ns/iter 0.91
E2E_Evaluator_draft_04 6397347.904762033 ns/iter 7847291.902438462 ns/iter 0.82
E2E_Evaluator_fabric_mod 715917.7011373964 ns/iter 794376.3059616078 ns/iter 0.90
E2E_Evaluator_geojson 18326534.923074014 ns/iter 16333487.837210815 ns/iter 1.12
E2E_Evaluator_gitpod_configuration 223580.82662743254 ns/iter 264299.5875898776 ns/iter 0.85
E2E_Evaluator_helm_chart_lock 224781.1623019492 ns/iter 330166.62872240494 ns/iter 0.68
E2E_Evaluator_importmap 42815.49464886944 ns/iter 51358.98073428488 ns/iter 0.83
E2E_Evaluator_jasmine 102767.49542500175 ns/iter 124211.20842997957 ns/iter 0.83
E2E_Evaluator_jshintrc 1027749.6788857502 ns/iter 1117500.182250576 ns/iter 0.92
E2E_Evaluator_jsconfig 374445.8008635018 ns/iter 410448.6161498182 ns/iter 0.91
E2E_Evaluator_krakend 187119.5691188266 ns/iter 211894.03584338812 ns/iter 0.88
E2E_Evaluator_lazygit 130833.82379991021 ns/iter 152562.0176221619 ns/iter 0.86
E2E_Evaluator_lerna 116088.61627715183 ns/iter 150261.67173451206 ns/iter 0.77
E2E_Evaluator_nest_cli 180826.1921680498 ns/iter 211562.6810747356 ns/iter 0.85
E2E_Evaluator_omc 20156.60295722092 ns/iter 20902.220267505058 ns/iter 0.96
E2E_Evaluator_omnisharp 593168.3443137159 ns/iter 588167.8602510197 ns/iter 1.01
E2E_Evaluator_openapi 12031913.578946268 ns/iter 12875555.081633622 ns/iter 0.93
E2E_Evaluator_pre_commit_hooks 470603.47768151126 ns/iter 530586.6319392369 ns/iter 0.89
E2E_Evaluator_pulumi 724098.0605427995 ns/iter 769743.671508374 ns/iter 0.94
E2E_Evaluator_semantic_release 89885.20686125319 ns/iter 106214.60853064318 ns/iter 0.85
E2E_Evaluator_stale 151530.08509718915 ns/iter 171010.31610865315 ns/iter 0.89
E2E_Evaluator_stylecop 287335.2380951994 ns/iter 310999.11316606915 ns/iter 0.92
E2E_Evaluator_tmuxinator 87881.58949881609 ns/iter 110108.91312680085 ns/iter 0.80
E2E_Evaluator_ui5 506782.6241660343 ns/iter 575798.3625827493 ns/iter 0.88
E2E_Evaluator_ui5_manifest 2646248.8396953437 ns/iter 2859555.881147877 ns/iter 0.93
E2E_Evaluator_unreal_engine_uproject 430345.63804813195 ns/iter 473158.0887370566 ns/iter 0.91
E2E_Evaluator_vercel 265785.68897332257 ns/iter 320583.50161067804 ns/iter 0.83
E2E_Evaluator_yamllint 11509.560923473335 ns/iter 12773.879405070129 ns/iter 0.90

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