Matthew Parkinson
Matthew Parkinson
Here is running on my perf VM in Azure:   I dropped a couple of the noisier ones, but overall it doesn't have much change.
 
I haven't tried, but I would start by adding the .a but built with `-DSNMALLOC_IPO=On`. This should build a LTO/IPO enabled include, and then you can try that. This is...
I suggest you benchmark with LD_PRELOAD, and if that demonstrates that there is a win in using snmalloc. Removing the PLT indirection will improve performance, but if the different allocators...
So I quickly tried the IPO option it seems to work, but doesn't give any inline above using the .a in the application I used. ``` cmake -DSNMALLOC_IPO=On .. -DCMAKE_CXX_COMPILER=clang++...
Thanks for doing this. I think your branch is a bit behind `main`. In particular, I think it is behind #624 which refactored this code to be a bit cleaner....
Documentation on this is hard to come by. When I have talked to people they have been unkeen to officially support anything, but they try not to break the tricks...
I am happy to disable this "optimisation", and put the code under a feature flag, so we can benchmark it properly at some future point. I have some other work...
The jemalloc compat basically has `_recalloc`. If you specialise to the flag being set to say it should be zeroed: https://github.com/Naville/snmalloc/blob/583cd5da55de58fe320a7054ce15d980071ed44c/src/snmalloc/override/jemalloc_compat.cc#L267-L302 Happy to add this overrides.
> What is the memory alignment for the pointers returned by snmalloc? So the allocator's design currently has very strong alignment. Any allocation is guaranteed to be the aligned by...