Compilateurs C libres
Par haypo, mardi 2 octobre 2007 à 00:12 :: Programmation :: #77 :: rss
Suite à l'annonce de l'intégration de PCC dans NetBSD, je me suis intéressé aux compilateurs libres qui existent. En chatouillant Google et Wikipédia, j'ai obtenu cette petite liste :
- GCC (GNU Compiler Collection)
- PCC (Portable C Compiler)
- Licence BSD
- Projet lancé dans la fin des années 1970 par Stephen C. Johnson
- Plus d'informations dans les commentaires de l'annonce linuxfr et des critiques de gcc
- Watcom
- Logiciel libéré en 2003 : OpenWatcom (licence)
- Logiciel propriétaire ayant pour origine un compilateur Fortran écrit en 1965 par des étudiants de l'Université de Waterloo (Canada). Une version optimisée pour le C et pour PC est apparue en 1988 (Watcom C 6.0). Lire l'histoire complète.
- Compilateurs de tous les jeux MS-Dos de 1993 Ã 1996 (DOOM, Descent et Duke Nukem 3D, etc.)
- LLC (Local C Compiler)
- Développé par Chris Fraser et David Hanson
- Projet de l'Université de Princeton
- Logiciel libre ?
- Intégré dans l'IDE « Lcc-win32 »
- SDCC (Small Device C Compiler)
- Licence GNU GPL
- Projet lancé Sandeep Dutta et ouvert aux contributions (Sourceforge) en 1999
- TCC (Tiny C Compiler)
- Licence GNU LGPL 2.1
- Projet lancé par Fabrice Bellard en 2002
- TenDRA
- Projet initié par la DERA (agence du département de la Défense du Royaume-Uni) au milieu des années 1990
- Licence BSD
Cette liste est sûrement incomplète, mais je pense que les compilateurs libres les plus populaires y sont listés. Consultez également la liste des compilateurs C de Wikipédia anglophone. Il existe de nombreux compilateurs commerciaux dont certains sont gratuits sous certaines conditions : Microsoft (Visual Studio), Intel (ICC), Borland (Turbo C, C++ Builder), ...
Pour information, un programme C exécuté dans LLVM 2.0 (Low Level Virtual Machine) est 20% plus rapide que lorsqu'il est exécuté avec GCC 4.2. On peut donc supposer que LLVM a accès à des algorithmes d'optimisation auxquels GCC n'a pas accès (sûrement parce que GCC est statique alors que LLVM est dynamique).
Pour les plus passionnés, un lien utile : Linux Assembly.
Perso, je suis déçu que PyPy n'ai pas réussi à être plus rapide que CPython (l'implémentation de référence en C) car pourtant sa technologie était bien plus évoluée :-( Apparemment, PyPy est plus un laboratoire d'expérimentation qu'une implémentation optimisée de Python.
Commentaires
1. Le mardi 2 octobre 2007 à 04:08, par bins
2. Le mardi 2 octobre 2007 à 10:43, par haypo
3. Le mercredi 3 octobre 2007 à 00:06, par bins
4. Le mardi 22 avril 2008 à 01:12, par haypo
5. Le mardi 12 octobre 2010 à 10:42, par gucci outlet store
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.