I propose we include the backend and linker in the build summary. I think this would help people understand why sometimes speeds are really fast, and other-times less so.
0 errors and 0 warnings found in 297 ms
with dev backend & surgical linker
0 errors and 0 warnings found in 5970 ms
with llvm backend & legacy linker
Yes, but maybe with dev compiler backend & surgical linker and with llvm compiler backend & legacy linkerwould be better. Later Roc will hopefully have more beginners to programming as a whole. If they see dev backendthey might just confuse it with their web server backend that they are trying to build.
Would it be worth to display the time the backend and the linker took along side the total time?
We have a flag for in-depth timing information, I think it's important to avoid printing too much info that is often irrelevant.
I wouldn't print any linker info
Just backend, cause that is more concretely useful
Really the user should never need to change the linker and it all eventually should be surgical or directly outputting a library
Why is my code running slow (oh, built with the dev backend)... Why is my code compiling close (oh, building in release)
Also, do not specify llvm. We should some users don't know what llvm is. Instead, release or similar.
So maybe just completed dev build in ... or completed release build in ...
Or 0 errors and 0 warnings found in 297ms (xxxx build)
The main motivation for this change was actually so we know what linker was used. When you have a platfrom from URL it's not necessarily easy to know if it has binaries for the legacy or surgical linker or both, or for what architectures.
I think the cli should preference the surgical linker, fullback onto legacy. If the user provides a flag like linker=legacy and those files aren't available then give a warning.
So maybe a better approach is just to print a warning whenever we use the legacy linker. Something like it's deprecated and will be replaced in future by the surgical linker.
What is the goal?
Is it:
I think that is a good summary. All of those are beneficial in the short term before we have surgical linker for macos and windows, and platform support.
For 1, I think it might be reasonable. I don't think we should do it for 2 or 3
Last updated: Jun 16 2026 at 16:19 UTC