mirror of
https://github.com/danbulant/oxc
synced 2026-05-21 05:08:45 +00:00
- closes https://github.com/oxc-project/oxc/issues/6038 Migrates all simple iterations over Jest nodes to use the `run_on_jest_node` method. Rules which require more custom data (such as getting nodes in order or storing data about counts, duplicates, etc.) have not been migrated. Some simple benchmarking shows that this is ~5% faster on `vscode` when the Jest/Vitest rules are NOT enabled (due to being able to skip them now). And it is up to 8% on `vscode` when the Jest/Vitest plugins are enabled. ``` hyperfine -i -N --warmup 3 --runs 30 './oxlint-jest-iter --deny=all --silent ./vscode' './oxlint-main --deny=all --silent ./vscode' Benchmark 1: ./oxlint-jest-iter --deny=all --silent ./vscode Time (mean ± σ): 2.348 s ± 0.104 s [User: 16.922 s, System: 0.641 s] Range (min … max): 2.141 s … 2.544 s 30 runs Benchmark 2: ./oxlint-main --deny=all --silent ./vscode Time (mean ± σ): 2.476 s ± 0.042 s [User: 17.768 s, System: 0.668 s] Range (min … max): 2.430 s … 2.598 s 30 runs Summary ./oxlint-jest-iter --deny=all --silent ./vscode ran 1.05 ± 0.05 times faster than ./oxlint-main --deny=all --silent ./vscode ``` ``` hyperfine -i -N --warmup 3 --runs 30 './oxlint-jest-iter --deny=all --jest-plugin --vitest-plugin --silent ./vscode' './oxlint-main --deny=all --jest-plugin --vitest-plugin --silent ./vscode' Benchmark 1: ./oxlint-jest-iter --deny=all --jest-plugin --vitest-plugin --silent ./vscode Time (mean ± σ): 2.728 s ± 0.118 s [User: 19.782 s, System: 0.786 s] Range (min … max): 2.580 s … 3.078 s 30 runs Benchmark 2: ./oxlint-main --deny=all --jest-plugin --vitest-plugin --silent ./vscode Time (mean ± σ): 2.939 s ± 0.051 s [User: 21.259 s, System: 0.859 s] Range (min … max): 2.848 s … 3.064 s 30 runs Summary ./oxlint-jest-iter --deny=all --jest-plugin --vitest-plugin --silent ./vscode ran 1.08 ± 0.05 times faster than ./oxlint-main --deny=all --jest-plugin --vitest-plugin --silent ./vscode ``` |
||
|---|---|---|
| .. | ||
| oxc | ||
| oxc_allocator | ||
| oxc_ast | ||
| oxc_ast_macros | ||
| oxc_cfg | ||
| oxc_codegen | ||
| oxc_data_structures | ||
| oxc_diagnostics | ||
| oxc_ecmascript | ||
| oxc_estree | ||
| oxc_index | ||
| oxc_isolated_declarations | ||
| oxc_language_server | ||
| oxc_linter | ||
| oxc_macros | ||
| oxc_mangler | ||
| oxc_minifier | ||
| oxc_module_lexer | ||
| oxc_parser | ||
| oxc_prettier | ||
| oxc_regular_expression | ||
| oxc_semantic | ||
| oxc_sourcemap | ||
| oxc_span | ||
| oxc_syntax | ||
| oxc_transformer | ||
| oxc_traverse | ||
| oxc_wasm | ||