-
-
Notifications
You must be signed in to change notification settings - Fork 475
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
Speed comparison with LLD of Clang program #1341
Comments
I format to mention that the object files are using ZSTD compression for the debug info sections. |
And my perf report looks as follows:
|
I ran a quick benchmark again and the number seems consistent.
|
Interesting! Can you please provide the output of |
And here is my
Note that I built it not with |
Thanks, if filter out only the function related to Anyway, please update |
That's clang 20, not clang 19. |
Yeah, but these two are very similar in size. |
Yes, but the size doesn't really matter, it's like saying if I statically include 5,000 libraries and my executable is 5 MB but if I dynamically include those same libraries that the linker performance is the same, but the executable is only 3 MB. |
mimalloc improves lld's performance by more than 10% compared with glibc malloc. The following cmake command for llvm-project will mostly match the mold default.
Configure mold like this:
You can find fast (PGO+bolt) prebuilt clang executables at My local lld with mimalloc is faster than Arch Linux's lld (
|
The README page mentions the following benchmark:
Clang 19 (1.56 GiB) 42.07s 33.13s 5.20s 1.35s
, but I cannot reproduce it on my AMD machine. First, am I right about the binary size (1.56 GiB) is measured with debug info? If so, did you use-DCMAKE_BUILD_TYPE=RelWithDebInfo
or something else? Have you used any--compress-debug-sections=
option?My numbers for
AMD Ryzen 9 7900X 12-Core Processor
are:Both LLD and Mold are provided from openSUSE package (built with LTO). Compared to your numbers, LLD is 1.48x slower, while your numbers claim it's 3.85x. Can you please remeasure it?
The text was updated successfully, but these errors were encountered: