IssueRaiser

investigate SmpAllocator performance with respect to other popular allocators

With #22808 set to auto-merge, I am editing this issue to clarify the issue closure requirements, without changing them. `std.heap.SmpAllocator` fills the niche of `-OReleaseFast -fno-single-threaded`. ## Issue Close Requirements: * [x] faster than glibc malloc * [x] faster than musl malloc * [ ] (not yet investigated) faster than mingw-w64 malloc * [ ] (not yet investigated) faster than jemalloc * [ ] (not yet investigated) faster than mimalloc * [ ] implement a general purpose correctness test harness for allocators that includes profile-guided fuzzing (see the [fuzzing label](https://github.com/ziglang/zig/issues?q=is%3Aissue%20state%3Aopen%20label%3Afuzzing)) * [ ] introduce an API for default allocator selection "faster" is vague, and allocators are typically not strictly better or strictly worse than each other. For the purposes of this issue it means the allocator has been tested in various different real world programs and had performance and peak RSS measured, and found to be in the same, or better "sweet spot". If `std.heap.SmpAllocator` cannot be adapted to be the winner, or should remain in its own sweet spot while another sweet spot is found to exist, then a new allocator implementation should be created. A box can still be ticked if due diligence has been done and neither allocator is strictly better than the other, and the set of tradeoffs are judged to be desirable. Originally, this issue specified that `std.heap.GeneralPurposeAllocator` should ch

Posted by andrewrk on Aug 19, 2022, 6:05 AM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.2,500 issues0 comments

github (Software)

investigate SmpAllocator performance with respect to other popular allocators

andrewrkAug 19, 2022, 6:05 AM

With #22808 set to auto-merge, I am editing this issue to clarify the issue closure requirements, without changing them. `std.heap.SmpAllocator` fills the niche of `-OReleaseFast -fno-single-threaded`. ## Issue Close Requirements: * [x] faster than glibc malloc * [x] faster than musl malloc * [ ] (not yet investigated) faster than mingw-w64 malloc * [ ] (not yet investigated) faster than jemalloc * [ ] (not yet investigated) faster than mimalloc * [ ] implement a general purpose correctness test harness for allocators that includes profile-guided fuzzing (see the [fuzzing label](https://github.com/ziglang/zig/issues?q=is%3Aissue%20state%3Aopen%20label%3Afuzzing)) * [ ] introduce an API for default allocator selection "faster" is vague, and allocators are typically not strictly better or strictly worse than each other. For the purposes of this issue it means the allocator has been tested in various different real world programs and had performance and peak RSS measured, and found to be in the same, or better "sweet spot". If `std.heap.SmpAllocator` cannot be adapted to be the winner, or should remain in its own sweet spot while another sweet spot is found to exist, then a new allocator implementation should be created. A box can still be ticked if due diligence has been done and neither allocator is strictly better than the other, and the set of tradeoffs are judged to be desirable. Originally, this issue specified that `std.heap.GeneralPurposeAllocator` should ch

Comments (0)

No comments yet. Start the discussion.

Comment on this issue