Sortie de GCC 6

Posté par  . Édité par bubar🦥, Davy Defaud, M5oul, patrick_g, palm123, ZeroHeure et Benoît Sibaud. Modéré par bubar🦥. Licence CC By‑SA.
91
23
avr.
2016
GNU

La sortie de la nouvelle version majeure du compilateur GCC du projet GNU va être annoncée. Écrit à l’origine par Richard Stallman, le logiciel GCC (GNU Compiler Collection) est le compilateur de référence du monde du logiciel libre. Il accepte des codes sources écrits en C, C++, Objective-C, Fortran, Java, Go et Ada et fonctionne sur une multitude d’architectures.

La suite de la dépêche vous propose en avance de phase une revue de certaines parties des améliorations et nouvelles fonctionnalités. Alors que GCC devenait un peu plus lent à chaque publication d’une nouvelle version, cette mouture marque un tournant en étant plus rapide que les deux versions précédentes, et plus rapide que d’autres compilateurs dans la plupart des situations, tout en générant souvent des binaires plus petits.

logo GCC

La version 4.6 du compilateur GCC est disponible

Posté par  (site web personnel) . Modéré par baud123. Licence CC By‑SA.
87
26
mar.
2011
GNU

La sortie de la version 4.6 du compilateur GCC a été annoncée ce vendredi 25 mars sur la liste de diffusion du projet.

Écrit à l’origine par [Richard Stallman] en tant que compilateur C officiel du projet GNU, dont il est le fondateur, [GCC] est aujourd’hui le compilateur multi-langage de référence du monde du logiciel libre. Il accepte du code source écrit en Ada, C, C++, Objective-C, Objective-C++, D, Fortran, Go, Java, Pascal et VHDL, et fonctionne sur une multitude d’architectures.

Journal Recherche de valeur dans un tableau et l'écosystème des compilateurs C++

Posté par  (site web personnel) . Licence CC By‑SA.
72
3
oct.
2021

Bonjour 'nal,

GCC, Clang, MSVC, sont tous des compilateurs très performants, ayant de nombreuses heuristiques pour émettre des instructions terriblement efficaces, à défaut d'être optimales. De même pour ICC, le compilateur d'Intel, réputé pour enterrer tous les autres en termes de performance du code généré. On en parle pas beaucoup mais il est là. (Tiens, d'ailleurs, savais-tu qu'Intel migrait son compilateur vers LLVM ? Le nouveau compilateur se nomme ICX pour le C, et ICPX pour le C++.)

Il (…)

Sortie de TinyCC 0.9.26

Posté par  (site web personnel) . Édité par claudex et Florent Zara. Modéré par Florent Zara. Licence CC By‑SA.
61
18
mar.
2013
C et C++

TinyCC est un compilateur C léger et rapide qui, en plus de ces qualités, a deux particularités originales :

  1. il permet de compiler et d'exécuter du code à la volée (option -run) ;
  2. en plus de l'exécutable, il est disponible sous forme de bibliothèque (libtcc) afin d'être embarqué dans d'autres programmes.

TinyCC a été écrit à l'origine par Fabrice Bellard, qui ne participe aujourd'hui plus à son développement. Les nouveaux développements sont assurés par une communauté de développeurs organisés autour d'une liste de diffusion et d'un dépôt Git dont l'une des branches est ouverte aux publications externes. Le vendredi 15 février 2013, l'un de ces développeurs, Thomas Preud'homme a annoncé la sortie d'une nouvelle version du compilateur, estampillée 0.9.26. Nous avons posé quelques questions à Thomas, dont les réponses figurent en deuxième partie de dépêche après l'exposé des nouveautés de cette version.

Journal Un cours en français sur la compilation : ne boudons pas notre plaisir !

60
16
déc.
2012

Pour me déculpabiliser de quelque procrastination sur le réseau des réseau - bref, j'ai moulé sur le Web -, je regarde parfois des conférences scientifiques, le net en regorge pour qui a le temps de chercher. Une pourra peut-être vous intéresser : elle est donnée au collège de France par Xavier Leroy, sur la compilation et le typage.

Pour les pressés, tout de suite le lien la Conférence.

De l'assembleur aux langages de haut niveau !

Xavier Leroy retrace rapidement (…)

Journal Bootstrap Binary seed

60
4
fév.
2019

Demat'iNal,

J'ai été frappé (ouille) par cet exposé au FOSDEM 2019.
Le sujet sous-jacent était « comment arriver à un compilateur C » à partir de… source. Et il est vrai que jamais je ne m'étais posé la question sous cet angle : arriver à faire qu'un compilateur pour un langage X soit écrit dans ce même langage X suppose… que l'on ait déjà un compilateur pour X. Ce problème se gérant soit par la disponibilité d'un autre compilateur, soit (…)

Outils utiles pour développeur

59
3
mar.
2017
C et C++

Le but de cette dépêche est de recenser quelques outils utiles pour les développeurs (pas uniquement C et C++) et de donner accès à des ressources intéressantes pour leur prise en main.

Tout d’abord comment définit‐on un « outil utile » ? Ce sont des logiciels (libres, c’est mieux) qu’il n’est pas obligatoire d’utiliser mais qui permettent de gagner en productivité (ou de moins se prendre la tête avec un bogue). Ces outils sont utilisables indépendamment, mais utilisés ensemble peuvent former un tout qui donne les fonctionnalités d’un environnement de développement intégré.

Il est fort probable que pour certains cette dépêche vienne enfoncer des portes ouvertes. Mais pensez aux nouveaux pour qui elle sera, peut‐être, profitable.

Journal GCC vs LLVM

Posté par  (site web personnel) . Licence CC By‑SA.
56
30
juin
2014

Vladimir Makarov, qui bosse sur les compilateurs pour Red Hat, vient de poster le résultat de son évaluation entre les dernières versions de GCC et LLVM.

Le mail d'annonce est ici, les tableaux pour x86-64 et ARM (32 bits) sont postés sur son site tandis que la page de conclusion est là.

Résumé du duel opposant GCC 4.9 et LLVM 3.4 :

  • LLVM est bien plus rapide que GCC lors de la compilation.
  • GCC génère du code plus (…)

LLVM 3.0

Posté par  (Mastodon) . Édité par baud123, nazcafan, Manuel Menal et Benoît Sibaud. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
55
2
déc.
2011
Technologie

LLVM, pour Low Level Virtual Machine, est une suite de compilation qui commence à se faire une place à côté du vénérable GCC. Sa grande modularité, comparé au monolithique GCC, permet d'écrire facilement un compilateur, en utilisant la représentation intermédiaire de LLVM, et en faisant appel ensuite aux optimisations et à la génération de code de LLVM.

Le projet arrive maintenant à une certaine maturité grâce à cette version 3.0 qui apporte beaucoup de nouveautés. Il est à noter que la numérotation suit le schéma d'OpenBSD, c'est-à-dire que la version 3.0 suit la version 2.9, ce n'est donc pas une version majeure – malgré les modifications plus importantes qu'à l'accoutumée – qui sont détaillées dans la seconde partie.

LLVM 3.1 et Conférence EURO-LLVM 2012

Posté par  . Édité par rewind, baud123, Sylvestre Ledru, Nÿco, Florent Zara, patrick_g et Benoît Sibaud. Modéré par Florent Zara. Licence CC By‑SA.
55
23
mai
2012
Technologie

LLVM est une suite de compilation, c'est-à-dire un ensemble de bibliothèques et d'outils pour construire des compilateurs, des assembleurs, des éditeurs de liens, etc. Et quand on parle de LLVM, on parle forcément de Clang, le compilateur C/C++/ObjectiveC/ObjectiveC++ attitré du projet LLVM. Clang, par rapport à GCC, compile plus vite mais génère du code moins rapide, le vrai intérêt de Clang réside dans la clarté des messages d'erreurs.

La seconde partie de cette dépêche détaille les nouveautés de la version 3.1 de LLVM et Clang, sortie le 22 mai 2012 et propose un compte rendu de la toute première conférence Euro-LLVM (avril 2012).

LLVM et Clang 3.1 sont téléchargeables ici et respectivement (les utilisateurs de Debian Sid n'ont évidemment qu'à faire un apt-get install llvm-3.1 clang)

[NDA: un grand Merci à rewind qui a rédigé, entre autres, toute la couverture de la conf Euro-LLVM. Merci également à patrick_g, reno, Nÿco, baud123 et Sylvestre Ledru pour leurs corrections et leurs précisions.]

Sortie du Glorious Haskell Compiler 7.8

Posté par  . Édité par Piezo, BAud, Bruno Michel, Benoît Sibaud, tuiu pol, Lucas, ZeroHeure et claudex. Modéré par tuiu pol. Licence CC By‑SA.
Étiquettes :
52
13
avr.
2014
Programmation fonctionnelle

Ghc, le Glorious Haskell Compiler est sorti le 9 avril 2014 en version 7.8.1. Il s'agit du compilateur le plus populaire pour le langage Haskell. Haskell est un langage de programmation purement fonctionnel, avec un système de types sophistiqué. C'est le principal langage généraliste à utiliser une stratégie d'évaluation non-stricte par défaut : la valeur d'une expression n'est calculée que si elle est nécessaire.

LLVM 2.9 !

Posté par  (Mastodon) . Modéré par patrick_g. Licence CC By‑SA.
45
8
avr.
2011
Technologie

La version 2.9 de LLVM vient de sortir et a été annoncée par Chris Lattner le 6 avril !

Pour ceux qui se posent encore la question, LLVM est une suite de compilation concurrente de GCC, sous licence UIUC (semblable à BSD), qui a pour but de produire des briques de bases modulaires pour construire toute sorte de programmes : compilateurs, debugger, assembleur, etc. L'aspect hautement modulaire permet également de pouvoir travailler sur une petite partie et d'en faire bénéficier toutes les autres. C'est notamment le cas des optimisations : en effet, LLVM utilise une représentation intermédiaire (IR) parfaitement spécifiée et les optimisations se font sur cette représentation. Et ce n'est qu'un des nombreux avantages de LLVM.

Cette version 2.9 permet de consolider plein d'aspects de LLVM. Parmi les nouveautés principales, on notera :

  • la génération de code a été améliorée, en particulier pour l'architecture ARM ;
  • l'optimisation au moment de la liaison (LTO) a été améliorée également ;
  • un nouvel allocateur de registre a été écrit, mais n'est pas activé par défaut pour cette sortie ;
  • l'infrastructure Machine Code est désormais utilisée par défaut pour produire du code objet directement (plutôt que de passer par un assembleur externe) ;
  • Clang, le compilateur C/C++/Objective-C/Objective-C++ gère le C++0x de mieux en mieux, avec l'ajout des rvalue references et des variadic templates ;
  • LLDB, le débugger du projet LLVM, atteint un certain stade de maturité alors que ce n'était qu'un projet larvaire à la dernière sortie.

Pythran 0.6 - compilation de noyaux scientifiques écrits en Python

Posté par  (site web personnel) . Édité par ZeroHeure, Benoît Sibaud, palm123 et tuiu pol. Modéré par Benoît Sibaud. Licence CC By‑SA.
36
6
nov.
2014
Python

Pythran est un compilateur pour les noyaux de calcul scientifique écrit en Python. Il permet d'écrire des modules dans un large sous-ensemble de Python + Numpy, d'ajouter quelques lignes de commentaire pour spécifier les types des fonctions exportées, enfin de compiler l'ensemble pour obtenir un module natif capable (parfois !) d'utiliser efficacement multi-cœurs et unités vectorielles. Le reste de la dépêche décrit le fonctionnement du compilateur, les évolutions récentes et propose une comparaison avec les alternatives : Cython, numba et parakeet.

Journal Des nouvelles de Fortran

Posté par  (site web personnel) . Licence CC By‑SA.
33
3
mai
2020

Punk is not dead, Fortran non plus. La preuve, avec le présent journal, LinuxFr.org compte désormais en tout et pour tout sept contenus taggés "Fortran" : https://linuxfr.org/tags/fortran/public

Une évolution par les normes

Rappelons que Fortran, qui s'écrivait à l'époque FORTRAN (pour mathematical FORmula TRANslating system), est né chez IBM entre 1954 et 1957 et fait donc partie des tous premiers langages informatiques. Il fait également partie des langages normalisés, ses premières normes datant du milieu des années 60. Depuis (…)

Journal Encore des nouvelles de Fortran

33
6
mai
2021

Mon précédent article Des nouvelles de Fortran du 3 mai 2020 commençait par ces mots : « Punk is not dead, Fortran non plus ». Et voilà que dans le TIOBE Index d'avril 2021, le Fortran fait son retour dans le top 20 avec un saut de la 34e position à la 20e, après 10 ans d'éclipse. Avec un taux de 0,91 %, on pourrait se contenter de s'étonner et penser que l'on est dans le bruit (…)