Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(ast): make AST structs
repr(C)
. (#4614)
Make structs `#[repr(C)]` without reordering them to benchmark the performance implications of it. This PR adds 136 bytes of padding in total. You can visit the list of these types [here](https://github.com/oxc-project/oxc/pull/4404/files/)(checkout the `assert_layouts.rs` diff). Update: Doesn't seem too bad! ![image](https://github.com/user-attachments/assets/05ac9cc8-7cb0-4ed5-9220-44f65c7f5bb9) * Linter: We can easily get more than 1% performance gain in the linter to even things out * Prepass: If we fix our issue with Rust `1.80.0` we gain 13% And it should also be possible to find some other areas there to gain back this one percent. The most notable thing is that `parser` isn't impacted by this, That is our most optimized crate which every percent counts(and it can be hard to gain back any perf regression there).
- Loading branch information