Update Home

texhno 2024-02-14 11:40:33 +00:00
parent 51dd22e205
commit c348c0fcd1

@ -13,7 +13,7 @@ To safeguard against dependency hell, all the essential software needed to devel
* Clang reportedly has better error messages * Clang reportedly has better error messages
* Clang/LLVM `lld` links on average twice as fast as GCC `ld` (Up to 10 times faster, reportedly) * Clang/LLVM `lld` links on average twice as fast as GCC `ld` (Up to 10 times faster, reportedly)
* GCC - GPL, Clang - Apache licenses * GCC - GPL, Clang - Apache licenses
* The standard may move towards Clang/LLVM? * While the standard may move to LLVM, GCC still remains the industry standard as of now.
Decision: They have many differences, above are the potentially most relevant. The GPL license seems preferable in this case, which is a point in favor of GCC. A major performance consideration comes when there are a lot of lib files as well as -debug. This difference will come down to the linker, and seeing as `lld` can be a drop-in replacement for `ld`, and added independently of Clang, it is not a major point in favor of Clang. We can simply install `lld` from the LLVM backend (Clang is just the frontend), and pass the `-fuse-ld=lld` flag to GCC to make it use `lld` instead of `ld`. For these reasons, I propose to start with GCC. Decision: They have many differences, above are the potentially most relevant. The GPL license seems preferable in this case, which is a point in favor of GCC. A major performance consideration comes when there are a lot of lib files as well as -debug. This difference will come down to the linker, and seeing as `lld` can be a drop-in replacement for `ld`, and added independently of Clang, it is not a major point in favor of Clang. We can simply install `lld` from the LLVM backend (Clang is just the frontend), and pass the `-fuse-ld=lld` flag to GCC to make it use `lld` instead of `ld`. For these reasons, I propose to start with GCC.