museumsvictoria / spatial_audio_server

An audio backend for the multi-layered soundscape of Beyond Perception: Seeing the Unseen, a permanent exhibition at Scienceworks in Melbourne, Australia.
81 stars 14 forks source link

Switch to a faster thread-safe FIFO - `std::sync::mpsc` is showing up in profiling as a bottleneck. #116

Open mitchmindtree opened 6 years ago

mitchmindtree commented 6 years ago

Currently the mpsc::SyncSender used to send audio monitoring data back to the GUI thread is showing up as a clear bottleneck. The profiling suggests that there's some inner lock contention going on that is causing delays that even exceed the cost of the FFT calculations. It might be worth looking into the crossbeam lock-free queues to solve this.