14 ms·
Languages are getting there but based on how much heartburn Rust's async causes, I still find it to be a very hard problem to give programmers a real multicore
by Karrot_Kream 3y ago
Languages are getting there but based on how much heartburn Rust's async causes, I still find it to be a very hard problem to give programmers a real multicore abstraction. And it starts from the ground up with operating systems designed around single core ideas.
When I first read about the multi core vs single core debate in college, I thought it was silly and that multi core would be just fine. But over the years I've developed a more nuanced view. The average user is mostly doing things that involve IO, so that makes multi core useful in that you can use multiple cores to wait for IO, but for actual computation single core performance continues to be the bottleneck.
- acdha 3y agoasync isn’t the only option: threading scales well and is often much easier to write and make production-ready (e.g. reasoning about peak memory usage can be hard in an async model).