-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Switch rustc allocator to mimalloc #62340
Conversation
@Zoxc I would prefer to only run the tests of this PR on the target that is used by perf. Do you know which one is it? (is it x86_64-unknown-linux-gnu with builtin LLVM ?) |
I'm not sure what you mean by that statement. I don't think try builds have much in the way of tests anyway. I tried mimalloc in #62073, but I just hooked the Rust allocation functions so LLVM was unaffected. Does this hook C functions too? |
Try builds do not have tests. @bors try |
[WIP] Switch rustc allocator to mimalloc [Here](https://www.microsoft.com/en-us/research/publication/mimalloc-free-list-sharding-in-action/), strong claims are made about the performance of mimalloc against pretty much every other widely-used allocator. This PR is the smallest-diff that hopefully allows us to do a perf run of rustc with mimalloc. Independently of the outcome, this is not intended to be merged upstream - hence tagged as WIP to prevent that. r? @Zoxc
That's a good question. I'll do a full build and use |
@rust-timer build f98cbb8 |
Success: Queued f98cbb8 with parent 8c6fb02, comparison URL. |
☀️ Try build successful - checks-azure, checks-travis |
Can we abort ? I found a better way to statically link this, that overrides |
Finished benchmarking try commit f98cbb8, comparison URL. |
The interesting thing here is |
|
So I've pushed a new commit that uses |
@bors try |
[WIP] Switch rustc allocator to mimalloc [Here](https://www.microsoft.com/en-us/research/publication/mimalloc-free-list-sharding-in-action/), strong claims are made about the performance of mimalloc against pretty much every other widely-used allocator. This PR is the smallest-diff that hopefully allows us to do a perf run of rustc with mimalloc. Independently of the outcome, this is not intended to be merged upstream - hence tagged as WIP to prevent that. r? @Zoxc
💔 Test failed - checks-azure |
Forgot to update the lock-file, fixed. |
@bors try |
⌛ Trying commit 6080cc6 with merge ce5ffa9d5cc2f0c5c91d9a830fb883543d83ba19... |
💔 Test failed - checks-azure |
According to https://docs.rs/mimalloc-sys/0.1.4/mimalloc_sys/ you have to use it like |
Done.
They aren't exposed in the bindings, but they are part of the static library when |
I've pushed |
@bors try |
⌛ Trying commit 17ee296 with merge 54c5aaddedc71854b080a8c33c08a07a0410c550... |
💔 Test failed - checks-azure |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@daanx the mimalloc version has been updated to the dev branch, that version is published on crates.io as 0.1.6-dev (you can find the sources in the dev branch of the Rust bindings here: https://github.com/gnzlbg/mimallocator/tree/dev - the version of mimalloc dev branch used is imported via a git submodule, you can see the exact commit it tracks here: https://github.com/gnzlbg/mimallocator/tree/dev/mimalloc-sys). The bindings are built with the @bors: try |
@gnzlbg: 🔑 Insufficient privileges: not in try users |
@bors try |
⌛ Trying commit dd4b146 with merge abbecd0b5fc6c66fcc0e7ec1d6874f6dabcef44a... |
💔 Test failed - checks-azure |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
The error has been reported upstream: microsoft/mimalloc#77 (comment) |
@gnzlbg: 🔑 Insufficient privileges: not in try users |
@bors try |
⌛ Trying commit 60927dd with merge 9a2e5c9c86099b7aa035031f905e32e72aaa06b1... |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
💔 Test failed - checks-azure |
Here, strong claims are made about the performance of mimalloc against pretty much every other widely-used allocator.
This PR is the smallest-diff that hopefully allows us to do a perf run of rustc with mimalloc.
Independently of the outcome, this is not intended to be merged upstream - hence tagged as WIP to prevent that.
r? @Zoxc