oxc/crates/oxc_linter/src/rules
Cameron 064296cd43
perf(linter) reduce the number of diagnostics for no_sparse_arrays (#1895)
Partially address #1879

See there for more info. but tldr:

Printing a lot of diagnostics takes a lot of time - a lot longer than it
takes to create them

we speed up printing by producing less diagnostics.

we do this by making `no-sparse-arrays` report 1x per array instead of
1x per violation.

This does have the overhead of now every ArrayElement is processed 2x
(1x when we loop through in the rule, 1x when we loop through the ast).
But the perf reduction is negligble compared to the per production of
producing thousands of diagnostics vs 1 diagnostic.

This means that linting nodejs/node now takes ~1.5 seconds vs ~2:30
previously
2024-01-05 10:52:31 +08:00
..
deepscan chore: upgrade rustc toolchain to stable 1.75.0 (#1853) 2023-12-29 12:20:51 +08:00
eslint perf(linter) reduce the number of diagnostics for no_sparse_arrays (#1895) 2024-01-05 10:52:31 +08:00
import feat(linter): add eslint-plugin-import(export) rule (#1654) 2023-12-13 23:12:45 +08:00
jest chore: upgrade rustc toolchain to stable 1.75.0 (#1853) 2023-12-29 12:20:51 +08:00
jsx_a11y chore: fix typos 2024-01-03 11:44:04 +08:00
oxc chore: upgrade rustc toolchain to stable 1.75.0 (#1853) 2023-12-29 12:20:51 +08:00
react feat(linter): eslint-plugin-react: jsx-no-undef (#1862) 2023-12-31 11:57:44 +00:00
typescript perf(linter): reduce the RuleEnum enum size from 168 to 16 bytes (#1783) 2023-12-22 22:54:41 +08:00
unicorn perf(semantic): check duplicate parameters in Binder of FormalParameters (#1840) 2024-01-03 12:57:03 +08:00