3 ms·
What are you talking about? In C++ you have ASIO (Boost) that’s mostly used for IPC but can be used as a general purpose async event queue. There is io_uring s
by OnlyMortal 2y ago
What are you talking about?
In C++ you have ASIO (Boost) that’s mostly used for IPC but can be used as a general purpose async event queue. There is io_uring support too. You can sit a pool of threads as the consumers for events if you want to scale.
C++ has had a defacto support for threads for ages (Boost) and it has been rolled into the standard library since 2011.
If you’re using compute clusters you also have MPI in Boost. That’s a scatter/gather model.
There’s also OpenMP to parallelize loops if you’re so inclined.
- bee_rider 2y agoI should look this up but I’m lazy. I’m familiar with MPI in Fortran/C, and IIRC they had some MPI C++ primitives a that never really got a ton of traction (that’s just the informal impression I got skimming their docs, though). How’s MPI in C++ boost work? MPI communicates big dumb arrays best I think, so maybe they did all the plumbing work for translating Boost objects into big dumb arrays, communicating those, and then reconstructing them on the other side?
- OnlyMortal 2y agoIt’s still a dumb way to do computation. The Boost library hides the implementation away though, on Linux and Macintosh, it requires gomp. Really, it’s a wrapper but makes it “easier” for scientists to use who are, in general, not good coders. Source: I’ve seen CERN research code.
- bee_rider 2y agoWhat’s a dumb way to do computation? Using objects? I’m generally suspicious of divergence from the ideal form of computation (math, applied to a big dumb array) but C++ is quite popular.