Re:Announcing Rust 1.6
by steveklabnik on Thursday January 21, 2016 @10:51PM
(#10950645)
Hmm. Yeah, I mean, jemalloc is the default allocator, so something must be wonky here. You don't need to explicitly use jemalloc. That's what you get by default.
Re:Announcing Rust 1.6
by codingbinary on Thursday January 21, 2016 @11:44PM
(#10950796)
But that wasn't always the case, right? I think around the time of 1.3/1.4 jemalloc was not the default.
Quite the opposite; jemalloc has been the default, and using the system allocator has been the "hassle" since well before 1.0.
However a few key platforms have jemalloc disabled because it's buggy (deadlocks or worse). I think as of a few days ago it's pretty much universally off on windows.
Also whether jemalloc is used depends on how you build your thing -- dylibs use the system allocator (because they're subordinate), static libs (rlibs) inherit from the thing they're linked into, and executables use jemalloc (because they're in control).
Re:Announcing Rust 1.6
by codingbinary on Friday January 22, 2016 @01:01AM
(#10951041)
Then that's the reason. The config is a dylib, so I have to force it into using jemalloc, which I cannot do when using stable.
The problem was that the config is compiled into a dynamic library and gets passed the config struct. The old alloc method kind of died on me when the dynamic library was trying to alter that struct. So I had to enable jemalloc to keep it from crashing.