Avatar for the swc-project user
swc-project
swc
BlogDocsChangelog

Performance History

Latest Results

fix(es/ast): support hashing non-finite numbers (#12043) **Description:** Canonicalize non-finite numeric values in `Lit::Num` while preserving the existing ECMA AST `Hash` API. SWC currently represents `Infinity` and `NaN` in several forms. `eval_global_vars` rewrites `Infinity` to `1 / 0`, while `eval_numbers` can rewrite division by zero back to an `Infinity` identifier. Other constant-evaluation paths produce `Lit::Num(INFINITY)`, which codegen prints as `Infinity`. This churn makes optimization passes repeatedly recognize equivalent values in different AST forms. Follow esbuild’s approach of using semantic constants during optimization. Allow `Lit::Num` to store valid JavaScript non-finite values as the canonical internal representation, and leave syntax selection to codegen. Codegen can emit readable `Infinity` and `NaN` when safe or shorter `1 / 0` and `0 / 0` when minifying. **BREAKING CHANGE:** `Number` now treats all NaN values as equal and distinguishes `-0.0` from `+0.0`.
main
1 hour ago
chore: Add changeset for identity rename optimization
kdy1:kdy1/changeset-12041
4 hours ago
refactor(es/ast): Remove Hash from ECMA AST nodes
refactor/remove-ecma-ast-hash
6 hours ago
perf(es/hygiene): Skip identity rename mappings on apply
hamidrezahanafi:perf/hygiene-skip-identity-apply
8 hours ago

Latest Branches

CodSpeed Performance Gauge
0%
chore: Add changeset for identity rename optimization#12044
4 hours ago
203d5c1
kdy1:kdy1/changeset-12041
CodSpeed Performance Gauge
0%
4 hours ago
d9854d2
fix/ecma-number-hash
CodSpeed Performance Gauge
0%
refactor(es/ast): Remove Hash from ECMA AST nodes#12042
7 hours ago
ac7d6e1
refactor/remove-ecma-ast-hash
© 2026 CodSpeed Technology
Home Terms Privacy Docs