Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Communicating between processes is more expensive than communicating between threads.


Ok, but what is the use case where you need high bandwidth inter-thread/process communication?


Games. Simulations. Backend servers for shared editor experiences. Teleconferencing.


Except for embarrassingly parallel problems, the trade-off of generating more parallelism is usually needing finer-grained communication. Canonical examples in the literature are matrix multiplication, triangulation, and refinement.


Large shared state is basically always the answer. You can cop-out and say use a database or Redis if that’s fast enough but that’s just making someone else use many threads with shared memory.


matrix multiply is an obvious one. partial differential equations are another. Sorting is one if you don't care about math.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: