Abstract
Neobuffer allows us to perform cross-process communications with extreme performance (upward of 12310MB/s) in safe Rust. It is an extensible framework for writing custom channels in Rust as well. In this talk we’ll discuss the motivations behind Neobuffer and it’s current implementation.
While Rust provides, out of the box, many different data structures for cross-thread synchronization and communication, the same is not true for their cross-process counterparts. In this talk we present the results of the research at Standard Cognition on cross-process channels in Rust, an effort headed by myself (Bernardo Meurer/lovesegfault), Leo Gaspard (ekleog), and Simonas Kaslauskas (nagisa), contained in a (soon-to-be) open source crate we call Neobuffer. Apart from our reference implementation, in the form of an SPMC channel backed by a ringbuffer, we also explore the necessary components and future work related to cross-process communication in Rust, such as an upcoming MPMC variation of neobuffer.