Cawen, un nouveau langage plus performant que C++

Langage - Cawen - benchmark de performance Vs C++

Cawen est un langage développé par deux ingénieurs indépendants, Thomas Samain et Gwenaël Chailleu.

Créer un langage sans feuille de route réellement innovante n’a pas de sens. Celle de Cawen pourrait se résumer à :
- simplicité,
- expressivité,
- généricité,
- réutilisation de code
- et performance.

Une maquette publiée en juin illustrait l’avance que prenait Cawen sur C++ en terme de temps d’exécution et de consommation mémoire.

Une nouvel article publié sur le site du Green Code Lab montre que cet écart de performance a une traduction saisissante en terme de consommation électrique : suivant les exécutables mesurés, Cawen se montre de 15 % à …243 fois moins énergivore que C++.

L’article détaillé ici : Y a-t-il des langages plus verts que d’autres ?


Commentaires

C’est du vieux code C++03 de merde, sans RAII/templates/boost et, pour un algo de graphe, sans BGL. Pas étonnant que ça soit gros, lent et pas maintenable. Dans un vrai programme, ce genre de code fuit de la mémoire et nécessite une conversion des données d’entrées avant d’être utilisé.

Anonyme (non vérifié) le 05/02/2013

@anonyme,

Votre commentaire esquisse une distinction intéressante entre le monde des maquettes et le monde réel. Voilà comment nous comprenons votre intervention.

Dans le monde des maquettes
——————————————————————
Vous semblez dire “Pas étonnant que les programmes Cawen l’emportent sur les différents sources C++ en compétition : ces derniers sont rédigés dans un vieil idiome du C++ et n’utilisent pas les fonctionnalités et librairies les plus récentes”…C’est exactement le contraire! C’est parce que ces sources se rapprochent le plus possible du C et veillent notamment à la façon dont la mémoire est utilisée, qu’ils affichent les performances mesurées ici. Je vous invite à (re?)lire les papiers de Cox, hundt ou Hay. Je pense que vous terminerez votre lecture avec un peu plus de respect pour leur travaux. Je vous invite également à écrire votre propre version de cette maquette en utilisant la RAII et boost (pour les templates, ils sont déjà utilisés dans les sources disponibles,non?).

Dans le monde des maquettes, le sur-mesure l’emporte toujours sur la généricité. On peut être certain que sur le plan des performances, le vainqueur sera toujours un code assembleur exploitant les propriétés propres du processeur sur lequel tourne le programme. Les chiffres que nous présentons illustrent d’ailleurs bien ce principe et la difficulté d’interprétation d’une maquette : Cox et Hay ont passé quelques heures (jours?) à optimiser leur code pour le traitement du graphe initial et ils obtiennent effectivement sur ce graphe de bien meilleurs résultats que Hundt. Hélas, sur le traitement des graphes aléatoires, leur algos (ou les maps ont été remplacées par des vecteurs) sont à la peine.

Dans le monde réel
—————————————-
Vous semblez dire “Si l’on n’utilise pas des développements génériques tels que boost pour traiter des graphes, on aura des fuites mémoires et on devra coder une interface pour l’intégration des données”. Que l’on ne puisse plus coder un graphe en 2013 sans provoquer de fuite mémoire fait effectivement partie de nos préoccupations…C’est l’éternel problème de “dois-je réinventer la roue?”. Tout dépend du problème à traiter, des performances exigées, du temps alloué au développement et des caractéristiques des librairies disponibles. C++ et boost vont vous permettre d’obtenir un service aux performances moyennes avec un interfaçage d’une concision moyenne. Notre thèse, cela fera l’objet d’autres présentations, est que Cawen peut faire beaucoup mieux.

Thomas Samain (non vérifié) le 06/02/2013

Plus rapide, moins gourmand, moins cher, sans risques, mieux, mieux, mieux… Wow, mais c’est le saint Graal !

Où peut-on se procurer la bête et obtenir de la documentation histoire de la chatouiller un peu ?

globulus (non vérifié) le 07/02/2013

@globulus : c’est justement à vous, lecteurs et lectrices de GreenIT.fr de nous le dire en commentaire de cet article. Le “graal” :-) est disponible ici : http://www.melvenn.com/fr/cawen/

admin le 07/02/2013

Bonjour et merci pour cette belle initiative.
Pour donner encore un peu plus de visibilité, pouvez-vous préciser votre feuille de route, vos besoins de la communauté, votre planning, …
Bon courage.

fred (non vérifié) le 14/06/2013

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement.