[PATCH] D71786: [Support] On Windows, add optional support for {rpmalloc|snmalloc|mimalloc}

Alexandre Ganea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 26 14:37:24 PDT 2020


aganea added a comment.

In D71786#2193070 <https://reviews.llvm.org/D71786#2193070>, @hans wrote:

> From my point of view, I think it would be fine to only support rpmalloc in this patch. One aspect that Russell touched on is that if we support a bunch of options, it's not clear how well that support will be tested. Supporting only rpmalloc would also simplify the patch a little, and small incremental change is always good I think.

Some users reported that snmalloc perfoms better on a cloud VM. The performance heavily depends on configuration, whether it's an older Windows 10 build (which has the virtual pages kernel bug), or if it has large pages active. I'd also like to see how they compare vs. SCUDO and vs. tcmalloc3, if someone is willing to port those on Windows.

The changes to support the allocators are quite small. @hans I see this as temporary until we gather more feedback from users, would you be willing to keep all three allocators for now?

In D71786#2187489 <https://reviews.llvm.org/D71786#2187489>, @russell.gallop wrote:

> IANAL but I believe that rpmalloc probably *would* be acceptable to the LLVM project under the MIT license. I think that it is up to the LLVM board to decide on licensing issues. If you're happy to go with the rpmalloc route then you could contact them directly (contact details here: http://llvm.org/foundation/), or I would be happy to in support of this if that would help.

Just for the record, this has been discussed offline with the LLVM board. Currently, rpmalloc cannot be included as it is into the monorepo because it has a different licence. However, @maniccoder has proposed to donate the code, so we could include it if the community feels it should be part of (and maintained within) LLVM. This should be first discussed on llvm-dev. In the meanwhile we could just go ahead with this patch as a first step.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71786/new/

https://reviews.llvm.org/D71786



More information about the llvm-commits mailing list