feat(allocator)!: replace bumpalo with bump-scope#6668
feat(allocator)!: replace bumpalo with bump-scope#6668bluurryy wants to merge 29 commits intooxc-project:mainfrom
bumpalo with bump-scope#6668Conversation
Your org has enabled the Graphite merge queue for merging into mainAdd the label “0-merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
bumpalo with bump-scopebumpalo with bump-scope
CodSpeed Performance ReportMerging #6668 will not alter performanceComparing Summary
|
…` method for `Vec`
…ff with main smaller
|
It's interesting that we're seeing improvement on some benchmarks (transformer, minifier, codegen), and regression on others (parser). That split roughly corresponds to crates that mostly read from arena (transformer etc) and crates that mostly write (parser). A few thoughts: Bench allocator separatelyMy suspicion (which could be wrong) is that the perf improvement is coming from Would it be possible to reduce the scope of this PR to just replacing the allocator itself, keeping our existing My understanding is that Judging by the more efficient allocation implementation you claim for Bump downwardsI suggest switching to bumping downwards. That should be faster (as I know you're aware) and also follows Minimum alignmentLet's leave We generally don't allocate many strings, as most strings are stored just as references to slices of the source text. We might in future want to store strings in a separate arena with But, again, any such experiments would be better left to separate PRs.
|
…`, implement `String` as a wrapper around `Vec`, bump downwards
|
I reverted I did need to add a The bump allocator will now bump downwards. |
|
Thank you for working on this. Close as stale, but feel free to come back and make improvements. |
This is just a test to get a benchmark result.