Elf2: create a new linker from scratch#25299
Conversation
|
Can you copy paste those perf data points into the PR writeup for release notes later? |
This iteration already has significantly better incremental support. Closes ziglang#24110
Release NotesThe new linker can be used with It is already the default when passing The performance is fast enough that there's no longer much of a benefit to exposing a Performance Data PointsOld linker, building Zig compiler, then making a single-line change to a function, and then another: New linker, building Zig compiler, then making a single-line change to a function, and then another: Disabling the backend and linker entirely, building Zig compiler (type checking only), then making a single-line change to a function, and then another: In summary:
|
|
The previous benchmarks were misleading due to the incomplete nature of the new linker, more accurate numbers reflecting the current progress are: Old linker, building Zig compiler, then making a single-line change to a function, and then another: New linker, building Zig compiler, then making a single-line change to a function, and then another: Disabling the backend and linker entirely, building Zig compiler (type checking only), then making a single-line change to a function, and then another: Similar conclusion as before, just not as extreme. Non-incremental comparison only shows an insignificant speedup: |
|
Oops, looks like my mistake was not passing strip to old linker because I didn't realize debug info was not implemented yet |
This iteration already has significantly better incremental support. In fact, this PR also enables every incremental test for
x86_64-linux-selfhostedand already passes all of them with this linker.Closes #24110