qp deadlocks in Astro36/rust-pool-benchmark #2
Labels
bug
Something isn't working
good first issue
Good for newcomers
help wanted
Extra attention is needed
I haven't been able to figure out what's wrong with it but I'm curious why that's happening:
I'm opening this as I'm currently evaluating the possibility of going back to a crossbeam based implementation in deadpool. I only switched to a
Mutex<VecDeque>
in0.7
as I saw a neglectable performance impact back then. It also made features like resizable pools trivial.I've looked at your Semaphore implementation and the one from async-lock. I gave both a try and either one performs better than the one from tokio. I'm just very hesitant to switch until we figure out why the benchmark deadlocks.
Using a different Semaphore implementation and crossbeam-queue yields a performance improvement of 2x-3x which is quite amazing and worth exploring.
I also opened an issue in the bb8 issue tracker, but since it has a completely different implementation and doesn't even use semaphores I don't think those problems are related in any way:
I just hope it's not an error in the benchmark implementation and I've opened those two issues in error. 🙈
The text was updated successfully, but these errors were encountered: