Skip to content

fix(#364): run only referenced lints in unlint-non-existing-defect - #1233

Open
VasilevNStas wants to merge 1 commit into
objectionary:masterfrom
VasilevNStas:fix/issue-364-unlint-perf
Open

fix(#364): run only referenced lints in unlint-non-existing-defect#1233
VasilevNStas wants to merge 1 commit into
objectionary:masterfrom
VasilevNStas:fix/issue-364-unlint-perf

Conversation

@VasilevNStas

Copy link
Copy Markdown
Contributor

Fixes #364

Problem: The unlint-non-existing-defect lint is the slowest one, by an order of magnitude, according to the benchmark. The reason: for every document it ran defects() on all lints, even when the document had no +unlint metas at all.

Solution: The lint now collects the +unlint tails first and, if the document has none, returns an empty result without touching any lint. Otherwise, only the lints whose names are referenced by the +unlint metas are executed, instead of the full set.

Changes:

  • src/main/java/org/eolang/lints/LtUnlintNonExistingDefect.java: rewritten defects() to short-circuit on documents without +unlint; existing() filters lints by the referenced names before calling defects().
  • src/test/java/org/eolang/lints/LtUnlintNonExistingDefectTest.java: two new tests asserting that no lint runs when there are no +unlint metas and that unreferenced lints are not invoked (a lint that explodes when called would fail the test).

Tests: mvn clean install -Pqulice — 580 tests, all green.

@VasilevNStas

Copy link
Copy Markdown
Contributor Author

@volodya-lombrozo @yegor256 please review this PR

@volodya-lombrozo

Copy link
Copy Markdown
Member

/benchmark

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark comparison for #1233

Comparing this branch against the master baseline in benchmark/lint-timings.csv. Positive deltas are slower, negative are faster.

Biggest changes

lint (size) before after delta
unlint-non-existing-defect (XXL) 14513 ms 1 ms -14512 ms
unlint-non-existing-defect (XL) 2790 ms 1 ms -2789 ms
unlint-non-existing-defect (L) 1559 ms 1 ms -1558 ms
unlint-non-existing-defect (M) 1256 ms 1 ms -1255 ms
application-without-as-attributes (XXL) 3157 ms 2376 ms -781 ms
object-has-data (XXL) 1413 ms 947 ms -466 ms
application-without-as-attributes (M) 507 ms 178 ms -329 ms
empty-object (XXL) 1065 ms 790 ms -275 ms
duplicate-as-attribute (S) 282 ms 37 ms -245 ms
bytes-without-data (XXL) 376 ms 143 ms -233 ms
Full results (425 entries)
lint (size) before after delta
alias-too-long (L) 1 ms 2 ms +1 ms
alias-too-long (M) 1 ms 1 ms +0 ms
alias-too-long (S) 39 ms 29 ms -10 ms
alias-too-long (XL) 1 ms 1 ms +0 ms
alias-too-long (XXL) 1 ms 1 ms +0 ms
anemic-getter (L) 13 ms 9 ms -4 ms
anemic-getter (M) 6 ms 4 ms -2 ms
anemic-getter (S) 41 ms 37 ms -4 ms
anemic-getter (XL) 21 ms 15 ms -6 ms
anemic-getter (XXL) 120 ms 73 ms -47 ms
anonymous-formation (L) 25 ms 43 ms +18 ms
anonymous-formation (M) 15 ms 10 ms -5 ms
anonymous-formation (S) 78 ms 58 ms -20 ms
anonymous-formation (XL) 42 ms 36 ms -6 ms
anonymous-formation (XXL) 221 ms 189 ms -32 ms
anonymous-objects-inside-formation (L) 15 ms 24 ms +9 ms
anonymous-objects-inside-formation (M) 12 ms 6 ms -6 ms
anonymous-objects-inside-formation (S) 49 ms 48 ms -1 ms
anonymous-objects-inside-formation (XL) 26 ms 19 ms -7 ms
anonymous-objects-inside-formation (XXL) 118 ms 86 ms -32 ms
application-without-as-attributes (L) 346 ms 417 ms +71 ms
application-without-as-attributes (M) 507 ms 178 ms -329 ms
application-without-as-attributes (S) 117 ms 105 ms -12 ms
application-without-as-attributes (XL) 597 ms 450 ms -147 ms
application-without-as-attributes (XXL) 3157 ms 2376 ms -781 ms
ascii-only (L) 1 ms 0 ms -1 ms
ascii-only (M) 0 ms 1 ms +1 ms
ascii-only (S) 2 ms 1 ms -1 ms
ascii-only (XL) 1 ms 1 ms +0 ms
ascii-only (XXL) 2 ms 1 ms -1 ms
atom-and-base (L) 25 ms 57 ms +32 ms
atom-and-base (M) 11 ms 8 ms -3 ms
atom-and-base (S) 67 ms 56 ms -11 ms
atom-and-base (XL) 56 ms 31 ms -25 ms
atom-and-base (XXL) 202 ms 152 ms -50 ms
atom-in-atom (L) 24 ms 19 ms -5 ms
atom-in-atom (M) 20 ms 8 ms -12 ms
atom-in-atom (S) 44 ms 98 ms +54 ms
atom-in-atom (XL) 42 ms 32 ms -10 ms
atom-in-atom (XXL) 246 ms 151 ms -95 ms
atom-with-data (L) 38 ms 18 ms -20 ms
atom-with-data (M) 18 ms 8 ms -10 ms
atom-with-data (S) 55 ms 46 ms -9 ms
atom-with-data (XL) 42 ms 31 ms -11 ms
atom-with-data (XXL) 201 ms 151 ms -50 ms
atom-without-rt (L) 25 ms 19 ms -6 ms
atom-without-rt (M) 11 ms 9 ms -2 ms
atom-without-rt (S) 47 ms 33 ms -14 ms
atom-without-rt (XL) 42 ms 44 ms +2 ms
atom-without-rt (XXL) 270 ms 148 ms -122 ms
bad-test-name (L) 16 ms 18 ms +2 ms
bad-test-name (M) 12 ms 5 ms -7 ms
bad-test-name (S) 39 ms 37 ms -2 ms
bad-test-name (XL) 26 ms 19 ms -7 ms
bad-test-name (XXL) 124 ms 88 ms -36 ms
broken-alias-first (L) 1 ms 4 ms +3 ms
broken-alias-first (M) 2 ms 2 ms +0 ms
broken-alias-first (S) 44 ms 32 ms -12 ms
broken-alias-first (XL) 1 ms 1 ms +0 ms
broken-alias-first (XXL) 1 ms 1 ms +0 ms
broken-alias-second (L) 2 ms 1 ms -1 ms
broken-alias-second (M) 1 ms 1 ms +0 ms
broken-alias-second (S) 33 ms 29 ms -4 ms
broken-alias-second (XL) 1 ms 2 ms +1 ms
broken-alias-second (XXL) 1 ms 1 ms +0 ms
bytes-without-data (L) 52 ms 19 ms -33 ms
bytes-without-data (M) 27 ms 9 ms -18 ms
bytes-without-data (S) 50 ms 59 ms +9 ms
bytes-without-data (XL) 79 ms 28 ms -51 ms
bytes-without-data (XXL) 376 ms 143 ms -233 ms
comment-is-too-wide (L) 0 ms 1 ms +1 ms
comment-is-too-wide (M) 2 ms 179 ms +177 ms
comment-is-too-wide (S) 51 ms 45 ms -6 ms
comment-is-too-wide (XL) 1 ms 1 ms +0 ms
comment-is-too-wide (XXL) 2 ms 1 ms -1 ms
comment-not-capitalized (L) 1 ms 1 ms +0 ms
comment-not-capitalized (M) 1 ms 0 ms -1 ms
comment-not-capitalized (S) 53 ms 30 ms -23 ms
comment-not-capitalized (XL) 1 ms 1 ms +0 ms
comment-not-capitalized (XXL) 1 ms 1 ms +0 ms
comment-starts-with-article (L) 1 ms 4 ms +3 ms
comment-starts-with-article (M) 1 ms 1 ms +0 ms
comment-starts-with-article (S) 27 ms 25 ms -2 ms
comment-starts-with-article (XL) 1 ms 1 ms +0 ms
comment-starts-with-article (XXL) 1 ms 1 ms +0 ms
comment-too-short (L) 1 ms 1 ms +0 ms
comment-too-short (M) 1 ms 1 ms +0 ms
comment-too-short (S) 31 ms 30 ms -1 ms
comment-too-short (XL) 1 ms 77 ms +76 ms
comment-too-short (XXL) 1 ms 1 ms +0 ms
comment-without-dot (L) 1 ms 0 ms -1 ms
comment-without-dot (M) 1 ms 1 ms +0 ms
comment-without-dot (S) 40 ms 30 ms -10 ms
comment-without-dot (XL) 1 ms 1 ms +0 ms
comment-without-dot (XXL) 1 ms 0 ms -1 ms
compound-name (L) 78 ms 40 ms -38 ms
compound-name (M) 25 ms 17 ms -8 ms
compound-name (S) 133 ms 41 ms -92 ms
compound-name (XL) 96 ms 65 ms -31 ms
compound-name (XXL) 469 ms 349 ms -120 ms
decorated-formation (L) 14 ms 11 ms -3 ms
decorated-formation (M) 9 ms 5 ms -4 ms
decorated-formation (S) 50 ms 37 ms -13 ms
decorated-formation (XL) 25 ms 19 ms -6 ms
decorated-formation (XXL) 113 ms 132 ms +19 ms
direct-phi (L) 27 ms 20 ms -7 ms
direct-phi (M) 16 ms 9 ms -7 ms
direct-phi (S) 66 ms 38 ms -28 ms
direct-phi (XL) 33 ms 25 ms -8 ms
direct-phi (XXL) 161 ms 129 ms -32 ms
duplicate-aliases (L) 1 ms 0 ms -1 ms
duplicate-aliases (M) 1 ms 1 ms +0 ms
duplicate-aliases (S) 38 ms 45 ms +7 ms
duplicate-aliases (XL) 1 ms 1 ms +0 ms
duplicate-aliases (XXL) 1 ms 1 ms +0 ms
duplicate-as-attribute (L) 67 ms 55 ms -12 ms
duplicate-as-attribute (M) 75 ms 43 ms -32 ms
duplicate-as-attribute (S) 282 ms 37 ms -245 ms
duplicate-as-attribute (XL) 169 ms 106 ms -63 ms
duplicate-as-attribute (XXL) 797 ms 656 ms -141 ms
duplicate-metas (L) 1 ms 0 ms -1 ms
duplicate-metas (M) 1 ms 1 ms +0 ms
duplicate-metas (S) 29 ms 34 ms +5 ms
duplicate-metas (XL) 1 ms 1 ms +0 ms
duplicate-metas (XXL) 1 ms 1 ms +0 ms
duplicate-names (L) 55 ms 62 ms +7 ms
duplicate-names (M) 28 ms 17 ms -11 ms
duplicate-names (S) 57 ms 36 ms -21 ms
duplicate-names (XL) 51 ms 39 ms -12 ms
duplicate-names (XXL) 281 ms 181 ms -100 ms
empty-alias (L) 1 ms 1 ms +0 ms
empty-alias (M) 1 ms 1 ms +0 ms
empty-alias (S) 29 ms 29 ms +0 ms
empty-alias (XL) 1 ms 1 ms +0 ms
empty-alias (XXL) 1 ms 0 ms -1 ms
empty-object (L) 119 ms 84 ms -35 ms
empty-object (M) 166 ms 53 ms -113 ms
empty-object (S) 165 ms 68 ms -97 ms
empty-object (XL) 185 ms 150 ms -35 ms
empty-object (XXL) 1065 ms 790 ms -275 ms
empty-spdx-tail (L) 1 ms 1 ms +0 ms
empty-spdx-tail (M) 2 ms 40 ms +38 ms
empty-spdx-tail (S) 46 ms 47 ms +1 ms
empty-spdx-tail (XL) 1 ms 0 ms -1 ms
empty-spdx-tail (XXL) 1 ms 1 ms +0 ms
error-line-out-of-listing (L) 0 ms 1 ms +1 ms
error-line-out-of-listing (M) 3 ms 1 ms -2 ms
error-line-out-of-listing (S) 34 ms 23 ms -11 ms
error-line-out-of-listing (XL) 1 ms 1 ms +0 ms
error-line-out-of-listing (XXL) 1 ms 1 ms +0 ms
formation-with-as-attributes (L) 30 ms 17 ms -13 ms
formation-with-as-attributes (M) 8 ms 9 ms +1 ms
formation-with-as-attributes (S) 30 ms 26 ms -4 ms
formation-with-as-attributes (XL) 21 ms 16 ms -5 ms
formation-with-as-attributes (XXL) 91 ms 90 ms -1 ms
incorrect-architect (L) 1 ms 1 ms +0 ms
incorrect-architect (M) 1 ms 1 ms +0 ms
incorrect-architect (S) 30 ms 36 ms +6 ms
incorrect-architect (XL) 0 ms 1 ms +1 ms
incorrect-architect (XXL) 1 ms 1 ms +0 ms
incorrect-bytes-format (L) 66 ms 42 ms -24 ms
incorrect-bytes-format (M) 66 ms 34 ms -32 ms
incorrect-bytes-format (S) 81 ms 59 ms -22 ms
incorrect-bytes-format (XL) 87 ms 76 ms -11 ms
incorrect-bytes-format (XXL) 548 ms 428 ms -120 ms
incorrect-home (L) 1 ms 1 ms +0 ms
incorrect-home (M) 2 ms 1 ms -1 ms
incorrect-home (S) 36 ms 48 ms +12 ms
incorrect-home (XL) 1 ms 2 ms +1 ms
incorrect-home (XXL) 1 ms 100 ms +99 ms
incorrect-jvm-rt-location (L) 2 ms 0 ms -2 ms
incorrect-jvm-rt-location (M) 1 ms 1 ms +0 ms
incorrect-jvm-rt-location (S) 32 ms 38 ms +6 ms
incorrect-jvm-rt-location (XL) 1 ms 1 ms +0 ms
incorrect-jvm-rt-location (XXL) 0 ms 1 ms +1 ms
incorrect-node-rt-location (L) 1 ms 1 ms +0 ms
incorrect-node-rt-location (M) 1 ms 1 ms +0 ms
incorrect-node-rt-location (S) 28 ms 26 ms -2 ms
incorrect-node-rt-location (XL) 1 ms 1 ms +0 ms
incorrect-node-rt-location (XXL) 1 ms 2 ms +1 ms
incorrect-package (L) 1 ms 1 ms +0 ms
incorrect-package (M) 2 ms 2 ms +0 ms
incorrect-package (S) 31 ms 32 ms +1 ms
incorrect-package (XL) 1 ms 1 ms +0 ms
incorrect-package (XXL) 2 ms 1 ms -1 ms
incorrect-rt-parts (L) 2 ms 1 ms -1 ms
incorrect-rt-parts (M) 1 ms 2 ms +1 ms
incorrect-rt-parts (S) 39 ms 33 ms -6 ms
incorrect-rt-parts (XL) 1 ms 1 ms +0 ms
incorrect-rt-parts (XXL) 1 ms 1 ms +0 ms
incorrect-spdx (L) 1 ms 1 ms +0 ms
incorrect-spdx (M) 2 ms 1 ms -1 ms
incorrect-spdx (S) 68 ms 31 ms -37 ms
incorrect-spdx (XL) 1 ms 1 ms +0 ms
incorrect-spdx (XXL) 1 ms 1 ms +0 ms
incorrect-test-object-name (L) 57 ms 13 ms -44 ms
incorrect-test-object-name (M) 14 ms 7 ms -7 ms
incorrect-test-object-name (S) 29 ms 25 ms -4 ms
incorrect-test-object-name (XL) 33 ms 24 ms -9 ms
incorrect-test-object-name (XXL) 146 ms 102 ms -44 ms
incorrect-unlint (L) 0 ms 1 ms +1 ms
incorrect-unlint (M) 1 ms 1 ms +0 ms
incorrect-unlint (S) 2 ms 1 ms -1 ms
incorrect-unlint (XL) 1 ms 1 ms +0 ms
incorrect-unlint (XXL) 1 ms 1 ms +0 ms
incorrect-version (L) 1 ms 1 ms +0 ms
incorrect-version (M) 1 ms 1 ms +0 ms
incorrect-version (S) 39 ms 31 ms -8 ms
incorrect-version (XL) 1 ms 1 ms +0 ms
incorrect-version (XXL) 2 ms 1 ms -1 ms
lambda-with-inners (L) 24 ms 39 ms +15 ms
lambda-with-inners (M) 22 ms 8 ms -14 ms
lambda-with-inners (S) 44 ms 33 ms -11 ms
lambda-with-inners (XL) 42 ms 32 ms -10 ms
lambda-with-inners (XXL) 201 ms 147 ms -54 ms
line-is-absent (L) 76 ms 59 ms -17 ms
line-is-absent (M) 74 ms 64 ms -10 ms
line-is-absent (S) 66 ms 86 ms +20 ms
line-is-absent (XL) 106 ms 102 ms -4 ms
line-is-absent (XXL) 569 ms 515 ms -54 ms
mandatory-architect (L) - 2 ms new
mandatory-architect (M) - 0 ms new
mandatory-architect (S) - 26 ms new
mandatory-architect (XL) - 1 ms new
mandatory-architect (XXL) - 1 ms new
mandatory-home (L) 1 ms 1 ms +0 ms
mandatory-home (M) 1 ms 0 ms -1 ms
mandatory-home (S) 27 ms 23 ms -4 ms
mandatory-home (XL) 1 ms 1 ms +0 ms
mandatory-home (XXL) 0 ms 1 ms +1 ms
mandatory-package (L) 0 ms 1 ms +1 ms
mandatory-package (M) 1 ms 1 ms +0 ms
mandatory-package (S) 33 ms 27 ms -6 ms
mandatory-package (XL) 1 ms 1 ms +0 ms
mandatory-package (XXL) 1 ms 1 ms +0 ms
mandatory-spdx (L) 1 ms 1 ms +0 ms
mandatory-spdx (M) 2 ms 1 ms -1 ms
mandatory-spdx (S) 49 ms 27 ms -22 ms
mandatory-spdx (XL) 1 ms 1 ms +0 ms
mandatory-spdx (XXL) 1 ms 1 ms +0 ms
mandatory-version (L) 0 ms 1 ms +1 ms
mandatory-version (M) 2 ms 1 ms -1 ms
mandatory-version (S) 42 ms 23 ms -19 ms
mandatory-version (XL) 1 ms 1 ms +0 ms
mandatory-version (XXL) 1 ms 2 ms +1 ms
many-void-attributes (L) 29 ms 29 ms +0 ms
many-void-attributes (M) 10 ms 5 ms -5 ms
many-void-attributes (S) 48 ms 43 ms -5 ms
many-void-attributes (XL) 21 ms 16 ms -5 ms
many-void-attributes (XXL) 90 ms 85 ms -5 ms
meta-line-out-of-listing (L) 1 ms 1 ms +0 ms
meta-line-out-of-listing (M) 1 ms 1 ms +0 ms
meta-line-out-of-listing (S) 46 ms 31 ms -15 ms
meta-line-out-of-listing (XL) 1 ms 1 ms +0 ms
meta-line-out-of-listing (XXL) 1 ms 1 ms +0 ms
missed-obfuscation (L) 14 ms 21 ms +7 ms
missed-obfuscation (M) 11 ms 6 ms -5 ms
missed-obfuscation (S) 40 ms 60 ms +20 ms
missed-obfuscation (XL) 28 ms 19 ms -9 ms
missed-obfuscation (XXL) 114 ms 88 ms -26 ms
name-outside-of-abstract-object (L) 18 ms 16 ms -2 ms
name-outside-of-abstract-object (M) 10 ms 5 ms -5 ms
name-outside-of-abstract-object (S) 33 ms 27 ms -6 ms
name-outside-of-abstract-object (XL) 23 ms 20 ms -3 ms
name-outside-of-abstract-object (XXL) 90 ms 71 ms -19 ms
named-object-abstract-nested (L) 18 ms 24 ms +6 ms
named-object-abstract-nested (M) 10 ms 4 ms -6 ms
named-object-abstract-nested (S) 40 ms 225 ms +185 ms
named-object-abstract-nested (XL) 20 ms 16 ms -4 ms
named-object-abstract-nested (XXL) 91 ms 88 ms -3 ms
no-attribute-formation (L) 15 ms 11 ms -4 ms
no-attribute-formation (M) 9 ms 6 ms -3 ms
no-attribute-formation (S) 74 ms 46 ms -28 ms
no-attribute-formation (XL) 25 ms 23 ms -2 ms
no-attribute-formation (XXL) 115 ms 83 ms -32 ms
non-kebab-name (L) 13 ms 11 ms -2 ms
non-kebab-name (M) 6 ms 4 ms -2 ms
non-kebab-name (S) 50 ms 45 ms -5 ms
non-kebab-name (XL) 28 ms 16 ms -12 ms
non-kebab-name (XXL) 95 ms 90 ms -5 ms
not-empty-atom (L) 25 ms 39 ms +14 ms
not-empty-atom (M) 11 ms 7 ms -4 ms
not-empty-atom (S) 41 ms 42 ms +1 ms
not-empty-atom (XL) 41 ms 32 ms -9 ms
not-empty-atom (XXL) 203 ms 160 ms -43 ms
object-has-data (L) 172 ms 292 ms +120 ms
object-has-data (M) 189 ms 208 ms +19 ms
object-has-data (S) 133 ms 100 ms -33 ms
object-has-data (XL) 278 ms 191 ms -87 ms
object-has-data (XXL) 1413 ms 947 ms -466 ms
object-line-out-of-listing (L) 13 ms 9 ms -4 ms
object-line-out-of-listing (M) 9 ms 5 ms -4 ms
object-line-out-of-listing (S) 32 ms 29 ms -3 ms
object-line-out-of-listing (XL) 23 ms 17 ms -6 ms
object-line-out-of-listing (XXL) 106 ms 80 ms -26 ms
package-contains-multiple-parts (L) 1 ms 1 ms +0 ms
package-contains-multiple-parts (M) 2 ms 1 ms -1 ms
package-contains-multiple-parts (S) 39 ms 26 ms -13 ms
package-contains-multiple-parts (XL) 1 ms 1 ms +0 ms
package-contains-multiple-parts (XXL) 2 ms 1 ms -1 ms
package-member-without-void (L) - 1 ms new
package-member-without-void (M) - 1 ms new
package-member-without-void (S) - 42 ms new
package-member-without-void (XL) - 1 ms new
package-member-without-void (XXL) - 1 ms new
package-without-tail (L) 0 ms 1 ms +1 ms
package-without-tail (M) 1 ms 1 ms +0 ms
package-without-tail (S) 41 ms 23 ms -18 ms
package-without-tail (XL) 1 ms 1 ms +0 ms
package-without-tail (XXL) 1 ms 2 ms +1 ms
phi-is-not-first (L) 14 ms 13 ms -1 ms
phi-is-not-first (M) 6 ms 5 ms -1 ms
phi-is-not-first (S) 55 ms 26 ms -29 ms
phi-is-not-first (XL) 23 ms 16 ms -7 ms
phi-is-not-first (XXL) 102 ms 76 ms -26 ms
pos-without-line (L) 12 ms 18 ms +6 ms
pos-without-line (M) 5 ms 5 ms +0 ms
pos-without-line (S) 30 ms 31 ms +1 ms
pos-without-line (XL) 20 ms 16 ms -4 ms
pos-without-line (XXL) 90 ms 80 ms -10 ms
prohibited-package (L) 1 ms 0 ms -1 ms
prohibited-package (M) 1 ms 1 ms +0 ms
prohibited-package (S) 40 ms 30 ms -10 ms
prohibited-package (XL) 1 ms 1 ms +0 ms
prohibited-package (XXL) 1 ms 1 ms +0 ms
redundant-object (L) 57 ms 46 ms -11 ms
redundant-object (M) 38 ms 17 ms -21 ms
redundant-object (S) 55 ms 50 ms -5 ms
redundant-object (XL) 111 ms 84 ms -27 ms
redundant-object (XXL) 686 ms 540 ms -146 ms
reserved-name (L) 82 ms 113 ms +31 ms
reserved-name (M) 89 ms 46 ms -43 ms
reserved-name (S) 30 ms 22 ms -8 ms
reserved-name (XL) 118 ms 111 ms -7 ms
reserved-name (XXL) 611 ms 659 ms +48 ms
rt-without-atoms (L) 27 ms 19 ms -8 ms
rt-without-atoms (M) 16 ms 8 ms -8 ms
rt-without-atoms (S) 41 ms 39 ms -2 ms
rt-without-atoms (XL) 41 ms 30 ms -11 ms
rt-without-atoms (XXL) 234 ms 147 ms -87 ms
schema-is-absent (L) 1 ms 1 ms +0 ms
schema-is-absent (M) 1 ms 1 ms +0 ms
schema-is-absent (S) 45 ms 26 ms -19 ms
schema-is-absent (XL) 1 ms 1 ms +0 ms
schema-is-absent (XXL) 1 ms 0 ms -1 ms
self-referencing (L) 13 ms 9 ms -4 ms
self-referencing (M) 5 ms 5 ms +0 ms
self-referencing (S) 30 ms 25 ms -5 ms
self-referencing (XL) 20 ms 15 ms -5 ms
self-referencing (XXL) 90 ms 82 ms -8 ms
sparse-decoration (L) 17 ms 16 ms -1 ms
sparse-decoration (M) 14 ms 6 ms -8 ms
sparse-decoration (S) 88 ms 62 ms -26 ms
sparse-decoration (XL) 38 ms 22 ms -16 ms
sparse-decoration (XXL) 140 ms 126 ms -14 ms
sparse-seq (L) 16 ms 12 ms -4 ms
sparse-seq (M) 7 ms 6 ms -1 ms
sparse-seq (S) 42 ms 48 ms +6 ms
sparse-seq (XL) 28 ms 21 ms -7 ms
sparse-seq (XXL) 136 ms 104 ms -32 ms
sprintf-without-formatters (L) 18 ms 23 ms +5 ms
sprintf-without-formatters (M) 8 ms 5 ms -3 ms
sprintf-without-formatters (S) 32 ms 40 ms +8 ms
sprintf-without-formatters (XL) 26 ms 35 ms +9 ms
sprintf-without-formatters (XXL) 150 ms 139 ms -11 ms
unique-metas (L) 1 ms 1 ms +0 ms
unique-metas (M) 3 ms 1 ms -2 ms
unique-metas (S) 29 ms 39 ms +10 ms
unique-metas (XL) 1 ms 1 ms +0 ms
unique-metas (XXL) 1 ms 1 ms +0 ms
unit-test-missing (L) 40 ms 32 ms -8 ms
unit-test-missing (M) 8 ms 8 ms +0 ms
unit-test-missing (S) 59 ms 78 ms +19 ms
unit-test-missing (XL) 31 ms 22 ms -9 ms
unit-test-missing (XXL) 145 ms 104 ms -41 ms
unit-test-without-phi (L) 20 ms 13 ms -7 ms
unit-test-without-phi (M) 11 ms 6 ms -5 ms
unit-test-without-phi (S) 69 ms 43 ms -26 ms
unit-test-without-phi (XL) 32 ms 23 ms -9 ms
unit-test-without-phi (XXL) 149 ms 106 ms -43 ms
unknown-metas (L) 2 ms 0 ms -2 ms
unknown-metas (M) 1 ms 1 ms +0 ms
unknown-metas (S) 32 ms 24 ms -8 ms
unknown-metas (XL) 1 ms 1 ms +0 ms
unknown-metas (XXL) 1 ms 1 ms +0 ms
unknown-rt (L) 1 ms 2 ms +1 ms
unknown-rt (M) 2 ms 1 ms -1 ms
unknown-rt (S) 32 ms 29 ms -3 ms
unknown-rt (XL) 1 ms 1 ms +0 ms
unknown-rt (XXL) 1 ms 1 ms +0 ms
unlint-non-existing-defect (L) 1559 ms 1 ms -1558 ms
unlint-non-existing-defect (M) 1256 ms 1 ms -1255 ms
unlint-non-existing-defect (S) 226 ms 1 ms -225 ms
unlint-non-existing-defect (XL) 2790 ms 1 ms -2789 ms
unlint-non-existing-defect (XXL) 14513 ms 1 ms -14512 ms
unsorted-metas (L) 1 ms 1 ms +0 ms
unsorted-metas (M) 1 ms 1 ms +0 ms
unsorted-metas (S) 41 ms 43 ms +2 ms
unsorted-metas (XL) 1 ms 1 ms +0 ms
unsorted-metas (XXL) 1 ms 1 ms +0 ms
unsorted-named-attributes (L) 28 ms 17 ms -11 ms
unsorted-named-attributes (M) 21 ms 8 ms -13 ms
unsorted-named-attributes (S) 80 ms 50 ms -30 ms
unsorted-named-attributes (XL) 34 ms 24 ms -10 ms
unsorted-named-attributes (XXL) 177 ms 112 ms -65 ms
unused-alias (L) 1 ms 1 ms +0 ms
unused-alias (M) 2 ms 1 ms -1 ms
unused-alias (S) 32 ms 28 ms -4 ms
unused-alias (XL) 1 ms 1 ms +0 ms
unused-alias (XXL) 1 ms 1 ms +0 ms
void-attributes-not-higher-than-other (L) 17 ms 12 ms -5 ms
void-attributes-not-higher-than-other (M) 9 ms 5 ms -4 ms
void-attributes-not-higher-than-other (S) 38 ms 33 ms -5 ms
void-attributes-not-higher-than-other (XL) 28 ms 21 ms -7 ms
void-attributes-not-higher-than-other (XXL) 137 ms 108 ms -29 ms
wrong-sprintf-arguments (L) 16 ms 11 ms -5 ms
wrong-sprintf-arguments (M) 9 ms 6 ms -3 ms
wrong-sprintf-arguments (S) 41 ms 38 ms -3 ms
wrong-sprintf-arguments (XL) 38 ms 30 ms -8 ms
wrong-sprintf-arguments (XXL) 138 ms 102 ms -36 ms
wrong-test-order (L) 19 ms 12 ms -7 ms
wrong-test-order (M) 15 ms 9 ms -6 ms
wrong-test-order (S) 32 ms 48 ms +16 ms
wrong-test-order (XL) 31 ms 22 ms -9 ms
wrong-test-order (XXL) 145 ms 105 ms -40 ms

@VasilevNStas
VasilevNStas force-pushed the fix/issue-364-unlint-perf branch from 29dac85 to 4e0568a Compare August 16, 2026 13:33
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.

unlint-non-existing-defect is very slow

2 participants