Journal : Lisaac plus rapide que le C !
Posté par Nicolas Boulay () le 24 avril 2008
Tout le monde s'en fout, mais cela fait des années que je suis persuadé qu'un langage de très haut niveau à plus de potentiel d'optimisation qu'un langage aussi bas niveau que le C. Et pourtant dés que l'on veut de la performance, on pense C.
C'est fait, Lisaac, un langage impératif à prototype, a plus de point que le C dans le langage shoutout. Il s'agit de microbenchmarks, dont l'algorithme est imposé.
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all(...)
Cela fait un test un peu plus complet que le code mpeg2 qui servait de test.
http://isaacproject.u-strasbg.fr/li/li_benchs.html
Chapeau à Ben !
Vous ne pouvez plus rajouter de commentaires! (trop vieux)
C'est fait, Lisaac, un langage impératif à prototype, a plus de point que le C dans le langage shoutout. Il s'agit de microbenchmarks, dont l'algorithme est imposé.
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all(...)
Cela fait un test un peu plus complet que le code mpeg2 qui servait de test.
http://isaacproject.u-strasbg.fr/li/li_benchs.html
Chapeau à Ben !
> Lire le journal (157 commentaires, moyenne: 3,4).



Re: Prêt à être utilisé par les masses?
Juste une question : Lisaac fait-il des optimisations globales ou pas ? (ie. a-t-il besoin d'analyser tout le programme pour savoir comment compiler chaque fonction/objet/prototype - je ne sais pas trop ce que ça manipule)
Oui.
Si oui, souffre-t-il (potentiellement) du problème classique des compilateurs avec optimisations globales, à savoir : tu changes une ligne dans ton programme et ça modifie radicalement tes performances (en bien ou en mal, mais c'est en mal que c'est gênant), par des modifications qui se propagent en cascade ?
Euh radicalement, je ne sais pas, ça dépend de la ligne que tu rajoutes, ça dépend de l'influence de cette différence sur le reste du programme.
Le compilateur optimise toujours au mieux : c'est une machine bête et stupide, il trace tout les types, applique toutes les optims (en fonction des flags donné en argument), donc je vois pas trop où est le problème.
Ce que je veux dire, car c'est ce que je sens derrière ta question, c'est qu'il n'y a pas d'indéterminisme ni d'instabilité : pour un code lisaac donné, quand on connait le fonctionnement du compilateur, on peut facilement avoir une intuition de ce que ça donnera en C.
[ Répondre ]