Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upGet LLVM using jemalloc and inline FNV hashing #31460
Conversation
This comment has been minimized.
This comment has been minimized.
|
Do you have any numbers for this? Also, I seem to recall a huge discussion the last time the prefixes were to be dropped. Has that been resolved or is this a different change? |
This comment has been minimized.
This comment has been minimized.
|
We should put in a release note if the jemalloc prefix changes. If anyone is experimenting with |
This comment has been minimized.
This comment has been minimized.
|
@dotdash ah yeah sorry I forgot to copy them over into the PR description, but the two commits have: jemalloc un-prefixing:
fnv inline:
@bluss good point! |
alexcrichton
added
the
relnotes
label
Feb 7, 2016
This comment has been minimized.
This comment has been minimized.
|
@alexcrichton Thanks! You missed the prefix issue though. The old PR was #18678 which, besides the long discussion that led to it not being merged, also had it so that on iOS/OSX and Windows, the prefix is still present (which is the default for jemalloc). |
This comment has been minimized.
This comment has been minimized.
|
Aha yes, thanks for finding a link to that! I should have hunted that down and thrown that in here. When that discussion happened we did not have the same support for swapping out allocators that we have today. The RFC for custom allocators was merged long after that discussion, and the early conclusions also pointed towards using jemalloc unprefixed in executables. The major difference between now and #18678 is that we only use jemalloc in executables, no static library or dynamic library in Rust uses jemalloc by default (they use the system allocator). As a result, due to the change in landscape, many of the concerns raised in #18678 have since been solved. One of the major motivational factors for RFC 1183 was indeed to land this change, I just forgot to get around to it until now! |
This comment has been minimized.
This comment has been minimized.
rust-highfive
assigned
nikomatsakis
Feb 8, 2016
This comment has been minimized.
This comment has been minimized.
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Feb 10, 2016
This comment has been minimized.
This comment has been minimized.
|
|
alexcrichton
closed this
Feb 10, 2016
alexcrichton
deleted the
alexcrichton:supafast-rustc
branch
Feb 10, 2016
alexcrichton
restored the
alexcrichton:supafast-rustc
branch
Feb 10, 2016
alexcrichton
reopened this
Feb 10, 2016
This comment has been minimized.
This comment has been minimized.
|
Oops! |
This comment has been minimized.
This comment has been minimized.
|
@bors r- Seems that bors was a bit too happy to see this restored |
alexcrichton
force-pushed the
alexcrichton:supafast-rustc
branch
from
0e5c112
to
51e0ee8
Feb 10, 2016
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Feb 11, 2016
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
Looks like the failure on musl was legitimate, and it happened because:
This meant the linker found itself trying to include the same symbol twice, and rightly exited with an error. I believe that the compiler here is erroneous in passing |
This comment has been minimized.
This comment has been minimized.
|
ah and re-r? @brson |
rust-highfive
assigned
brson
and unassigned
nikomatsakis
Feb 11, 2016
This comment has been minimized.
This comment has been minimized.
|
@bors r+ |
This comment has been minimized.
This comment has been minimized.
|
|
alexcrichton
force-pushed the
alexcrichton:supafast-rustc
branch
from
96429b6
to
00bf071
Feb 12, 2016
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Feb 12, 2016
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@bors: retry force |
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Feb 12, 2016
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
@bors: retry On Thu, Feb 11, 2016 at 9:53 PM, bors notifications@github.com wrote:
|
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Feb 12, 2016
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
@bors: retry On Fri, Feb 12, 2016 at 4:51 AM, bors notifications@github.com wrote:
|
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Feb 13, 2016
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
Whelp, shoulda known that any segfault from unprefixing jemalloc is indicative of mixing allocators. Looks like on Android allocator replacement in libc somehow doesn't work. We call I'll just re-prefix the symbols on android for now. |
alexcrichton commentedFeb 7, 2016
Looking at some profiles of rustc recently, these seemed like two pretty easy wins we could get in terms of performance on the table.