Conversation
✅ Deploy Preview for salsa-rs canceled.
|
CodSpeed Performance ReportMerging #845 will not alter performanceComparing Summary
|
|
It might be a flake but any idea why the benchmarks are regressing |
25abf27 to
0eadfaa
Compare
|
It seems like a flake. It's possible that the compiler isn't inlining the |
MichaReiser
left a comment
There was a problem hiding this comment.
Thanks
I don't understand much of loom but this looks reasonable.
The fact that not even the most simple tests complete in reasonable time makes me question the value of loom and whether it is worth the complexity (and indirection) it introduces.
What do you think?
|
I mean, if Loom takes too long to run, then we should be using Shuttle instead. It's not an exhaustive test, but it's a massive step up over the current state of affairs. |
| let data: Box<PageData<T>> = (0..PAGE_LEN) | ||
| .map(|_| UnsafeCell::new(MaybeUninit::uninit())) | ||
| .collect::<Vec<PageDataEntry<T>>>() | ||
| .try_into() | ||
| .unwrap(); |
There was a problem hiding this comment.
This might even be desired for non-loom to avoid stack allocations in debug builds
Fixes a couple issues when running under loom and adds a basic concurrency test. Unfortunately, this test is still very slow (it ran for >45 minutes and >20M iterations before I killed it on my machine), so I didn't add it to CI yet. It will probably only be practical for us to run very fine-grained unit tests under loom, or switch to something like shuttle for larger tests.