5 ms·
I would not be so sure about the declining importance of GCC. GCC has caught up a lot with clang in the last few years, from the quality of error messages, to
by bluescarni 8y ago
I would not be so sure about the declining importance of GCC.
GCC has caught up a lot with clang in the last few years, from the quality of error messages, to standard compliance, compilation times, tooling, sanitizers, etc.
IME GCC tends to produce faster code in practice, even if clang is often able to out-smart GCC in many areas (e.g., IIRC heap elision was first introduced in clang). GCC has a huge amount of inertia behind it, it's still the only compiler officially supported for compiling the Linux kernel, and, as long as the GCC developers don't stop improving it, it will be difficult for clang to take its role as "default" compiler, at least in Linux environments.
I use them both daily and I am really happy that we have the possibility of freely choosing between two such amazing projects. It would be a step backwards if one of them ended up fading away.
- nwellnhof 8y agoCompilation times? I thought that compliling with GCC has always been faster than with clang, at least in the general case.
- ebikelaw 8y agoFor C++ in my experience clang is much faster, especially for plain (unoptimized) builds.
- dman 8y agoThat has reversed in the last few releases of clang for my codebase.
- ebikelaw 8y agoBecause gcc got faster or because clang got slower?
- Kranar 8y agoBecause clang got a LOT slower and GCC got a bit faster. clang used to be incredibly fast and used little memory consumption, but recent versions have seen the compiler regress in both areas. On the other hand clang does a lot more now than it used to so it's somewhat justified. My own experience with a substantial codebase (1+ million lines of code) is MSVC uses the least amount of RAM, followed by clang and then GCC. For performance in terms of compiling/linking it's GCC/clang tied and then MSVC from fastest to slowest.
- dman 8y agoMSVC would be really great if MSFT could solve their small file io overhead and enabled a mode where I could disable file modification notifications completely. Right now doing any compilation makes the anti viruses go completely crazy.
- agumonkey 8y agoMaybe decline is the wrong term, llvm/clang did dent GCC near monopoly. Now GCC reacted promptly which is good.
- gmfawcett 8y agoThe near-monopoly of GCC was leading to stagnation. Clang's competition seems to have reinvigorated the GCC project, which is a fantastic outcome for users: two great compiler teams riffing off one another's improvements, and we all benefit from their work.
- agumonkey 8y agoI don't know how much is impression, but on my side I felt like GCC was a crumpling mammoth. clang forced them to improve and at the same time it showed that gcc is not near death at all.
- ndesaulniers 8y agoIt would be nice to have choice on which compiler to use for the kernel. We're actively working on it. https://github.com/ClangBuiltLinux/linux/issues https://github.com/ClangBuiltLinux/linux/issues