oxc/crates
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
..
oxc feat(playground): visualize symbol (#1886) 2024-01-04 15:36:31 +08:00
oxc_allocator Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_ast fix(ast): implement GetSpan for JSXElement (#1861) 2023-12-31 22:08:11 +08:00
oxc_cli feat(linter): support astro front matter --- block (#1893) 2024-01-05 10:05:43 +08:00
oxc_codegen Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_diagnostics chore(deps): bump the dependencies group with 11 updates (#1865) 2024-01-01 08:06:33 +00:00
oxc_formatter Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_index feat(playground): visualize symbol (#1886) 2024-01-04 15:36:31 +08:00
oxc_js_regex Initialize JS Regex crates and def AST. (#1500) 2023-11-23 00:22:17 +08:00
oxc_language_server feat(linter): support astro front matter --- block (#1893) 2024-01-05 10:05:43 +08:00
oxc_linter perf(linter) reduce the number of diagnostics for no_sparse_arrays (#1895) 2024-01-05 10:52:31 +08:00
oxc_linter_plugin chore(deps): bump the dependencies group with 5 updates (#1808) 2023-12-25 15:17:47 +08:00
oxc_macros feat(linter): add a perf category (#1625) 2023-12-04 17:31:34 +08:00
oxc_minifier chore: upgrade rustc toolchain to stable 1.75.0 (#1853) 2023-12-29 12:20:51 +08:00
oxc_parser fix(parser): fix incorrectly identified directives (#1885) 2024-01-04 13:39:15 +00:00
oxc_prettier feat(linter): no-irregular-whitespace rule (#1835) 2023-12-31 12:05:38 +08:00
oxc_query feat(query): Add is_getter, is_setter, is_constructor to all Function implementors (#1526) 2023-11-27 12:22:41 +08:00
oxc_semantic feat(playground): visualize symbol (#1886) 2024-01-04 15:36:31 +08:00
oxc_span Release crates v0.4.0 2023-12-08 17:20:37 +08:00
oxc_syntax feat(playground): visualize symbol (#1886) 2024-01-04 15:36:31 +08:00
oxc_transformer chore: upgrade rustc toolchain to stable 1.75.0 (#1853) 2023-12-29 12:20:51 +08:00
oxc_type_synthesis refactor(rust): move to workspace lint table (#1444) 2023-11-20 14:38:10 +08:00
oxc_wasm feat(playground): visualize symbol (#1886) 2024-01-04 15:36:31 +08:00