ci(benchmarks): benchmark NAPI parser#9519
Conversation
413d664 to
aad6cb0
Compare
CodSpeed Performance ReportMerging #9519 will not alter performanceComparing Summary
Benchmarks breakdown
|
a8fbf59 to
6e8e682
Compare
fb77f37 to
d991355
Compare
e4459e3 to
ad7e389
Compare
d991355 to
55dda90
Compare
ad7e389 to
4bd7f8c
Compare
4bd7f8c to
77d1b86
Compare
55dda90 to
53f5e0d
Compare
53f5e0d to
6ea3173
Compare
|
These benchmarks are really slow. I've skipped the worst ones, and sharded all the rest. But still should use a filter to skip running them unless relevant files have been touched. I'll look into that. |
77d1b86 to
39b9207
Compare
6ea3173 to
3a97b31
Compare
|
Argh. We can't skip these benchmarks conditionally as it'll foul up CodSpeed. Every PR that doesn't touch NAPI parser would get a "dropped benchmarks" warning. I've reached out to Codspeed to ask if possible to allow benchmarks to be intentionally skipped, and they've put it on their issue tracker. But who knows how long it'll take. We may need to take matters into our own hands and build something to skip benchmarks when their dependences haven't changed, and submit the previous benchmark run's results in its place to keep Codspeed happy (oxc-project/backlog#3). But in the meantime, I think we do need benchmarks for NAPI parser, as I'm going to be working on optimizing it. I've skipped the slowest ones, so they all complete faster than the linter benchmarks anyway. |
8892c2f to
bcc432d
Compare
39b9207 to
a0f6f37
Compare
bcc432d to
8e287f6
Compare
8e287f6 to
0c6bb8c
Compare
0c6bb8c to
49a4100
Compare
Merge activity
|
Add benchmarks for NAPI parser. Benchmarks cover both "standard" mode and "raw transfer" mode. Codspeed say they've sorted out the problems with wide variance in NodeJS benchmarks, so hopefully they won't wave all over the place, the way they did last year when we first tried to add these benchmarks. What we also found last year is that Codspeed's measures didn't reflect real-world wallclock measurements at all when comparing code running on Rust side vs JS side. Raw transfer moves a lot of work from Rust side to JS side, and so likely the bench results will be misleading if comparing "standard" vs "raw". I've added benchmarks for both, not to compare the 2, but because I think there's room to improve the performance of both "standard" and "raw" independently.
49a4100 to
a9889f5
Compare

Add benchmarks for NAPI parser. Benchmarks cover both "standard" mode and "raw transfer" mode.
Codspeed say they've sorted out the problems with wide variance in NodeJS benchmarks, so hopefully they won't wave all over the place, the way they did last year when we first tried to add these benchmarks.
What we also found last year is that Codspeed's measures didn't reflect real-world wallclock measurements at all when comparing code running on Rust side vs JS side. Raw transfer moves a lot of work from Rust side to JS side, and so likely the bench results will be misleading if comparing "standard" vs "raw".
I've added benchmarks for both, not to compare the 2, but because I think there's room to improve the performance of both "standard" and "raw" independently.