DEV Community

Discussion on: An unexpected performance regression

Collapse
 
burjui profile image
Artem Borisovskiy

That's interesting. In my toy compiler project the system allocator's and jemalloc's performance is almost indistinguishable, even though there are lot of allocations made during parsing, semantic checking and IR construction, and IO is negligible (it just reads the entire source file at once). On the other hand, mimalloc 1.0.3 (via mimallocator crate) speeds it up by 15-18% and mimalloc 1.0.8 (no crate yet, via LD_PRELOAD) by about 22%.

Collapse
 
sharkdp profile image
David Peter • Edited

Thank you for your feedback! I hadn't heard about mimalloc. I quickly tried it out via the mimallocator crate and the results for all of the benchmarks show that mimalloc is either on par or a tiny bit faster than jemalloc (1%). I'll take a closer look at this. There are also other things to consider, like availability on certain platforms (jemalloc via jemallocator does not work on Windows and for musl-libc builds).

Collapse
 
erichdongubler profile image
Erich Gubler

jemalloc works for the gnu targets, but not the MSVC targets yet. I speak as the person who filed the PR fixing that specific target. :)

Thread Thread
 
sharkdp profile image
David Peter

Yes, I noticed that when integrating it here: github.com/sharkdp/fd/pull/481 For now, jemalloc is not enabled on Windows