Hacker News new | ask | show | jobs
by the-smug-one 660 days ago
I never said that C and C++ doesn't suffer from the same design problem? I'd say that Zig is the best in class here, typically forcing you to pass along an allocator to each data structure. C is a bit better than C++, as it uses an allocator explicitly, while C++ relies on new/delete with a default impl calling malloc/free.

Still a language design issue: C++ and Rust doesn't put allocation concerns front and center, when they very much are. Not encouraging thinking about these things is very bad for systems languages.

1 comments

This issue isn't really about per-structure allocators at all.

It's about the idea that you are using per-thread allocators, and one of your threads allocates a lot of memory, then goes to sleep for a long time.

Per-thread allocators are orthogonal to per-structure allocators.

I think you misunderstand what I'm saying, as what I'm describing allows for per-thread allocators.