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.

Advertisement - Article continues below

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.

Advertisement
Advertisement - Article continues below

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.

Featured Resources

Staying ahead of the game in the world of data

Create successful marketing campaigns by understanding your customers better

Download now

Remote working 2020: Advantages and challenges

Discover how to overcome remote working challenges

Download now

Keep your data available with snapshot technology

Synology’s solution to your data protection problem

Download now

After the lockdown - reinventing the way your business works

Your guide to ensuring business continuity, no matter the crisis

Download now
Advertisement

Most Popular

How to find RAM speed, size and type
Laptops

How to find RAM speed, size and type

3 Aug 2020
How to use Chromecast without Wi-Fi
Mobile

How to use Chromecast without Wi-Fi

4 Aug 2020
How do you build a great customer experience?
Sponsored

How do you build a great customer experience?

20 Jul 2020