GCC and LLVM - What's in a licence?
Richard Hillesley discusses the pros and cons of the GCC and LLVM compiler collections, and the difference a licence makes.
LLVM compiles faster, but benchmarks of LLVM and clang against the GCC C compiler, show GCC compiled code to be 10 per cent faster, indicating more comprehensive optimisation of the code both at the language and machine levels of the code.
GCC remains the popular choice because of its extreme portability and proven history. Over recent years GCC has taken a stance in support of programming language standards, even where this has caused friction among developers. The virtue of a portable compiler is that it aids the portability of your software.
The virtue of standards is that unexpected language extensions don't produce unexpected results. An uncompromisingly 'free' compiler discourages the inclusion of proprietary extensions.
There will always be arguments over which licence is more useful and/or 'free'. BSD-style licences offer greater short term freedoms, but can be diverted for proprietary ends. The GPL guarantees continued and extensible freedom for the code, but should architectural considerations be subsumed by the greater need for freedom of the code?
Nonetheless, healthy competition between GCC and LLVM has improved the possibilities for everyone. The GCC developers may not have been persuaded to modularise the code base, but have been persuaded to allow plug-ins, after much discussion on mailing lists about the pros and cons of doing so. Plug-ins allow for other licences, and offer a semblance of modularity to third party developers.
GCC's greatest asset, however, may be its independence from any single commercial entity, which ensures adherence to standards and support from all sectors of industry, and freedom from arguments and worries, spurious or otherwise, about patents and proprietary control of the programming languages which are the ultimate instrument of a programmer's freedom of expression.
In This Article
Unleashing the power of AI initiatives with the right infrastructure
What key infrastructure requirements are needed to implement AI effectively?Download now
Achieve today. Plan tomorrow. Making the hybrid multi-cloud journey
A Veritas webinar on implementing a hybrid multi-cloud strategyDownload now
A buyer’s guide for cloud-based phone solutions
Finding the right phone system for your modern businessDownload now
The workers' experience report
How technology can spark motivation, enhance productivity and strengthen securityDownload now