I am working on a multithreaded barrier which does mass synchronization on a schedule, a rhythm.
It can send ~169 million messages a second across 10 barrier threads and 63 million event ingests from 3 external threads.
Your algorithm has to be redesigned to support this style of programming. Even message passing can be slow due to context switches. But bulk buffer processing is fast.