mizu is an R package for async and parallel computing that communicates over shared memory instead of sockets. A task round trip takes under a microsecond rather than around 100 µs, so work can be divided as finely as it would be across threads.
mizu is built on libmizu, a C library for lock-free shared-memory IPC, and pymizu binds the same core for Python, so pool workers can be Python processes and vectors, data frames, and Arrow tables cross between R and Python as zero-copy views. Messages stream into a later event loop without polling, and channels, tasks, and parallel maps plug into promises pipelines for use in Shiny. Parallel random numbers are reproducible for any worker count, and a task can map over its own pool without deadlock.
