Posté par chicco .
En réponse à la dépêche OCaml 4.03.
Évalué à 1.
En fait, optimiser du Haskell est beaucoup plus dur que OCaml. L'une des choses les plus importante pour avoir du Haskell efficace est l'analyse de 'strictness' (la non paresse). Il y a un gap de performance énorme entre une fonction strict et sa version paresseuse. C'est un peu comme la différence entre le calcul flottant OCaml boxé et non boxé, mais en pire. Ce qui fait que si cette analyse là ne s'est pas bien passée, toute autre optimisation est en fait complètement inutile ( un peu exagéré en fait, mais c'est l'idée ). D'où pas mal des transformations au niveau des langages intermédiaires de GHC servent surtout à rendre le code plus évident pour cette analyse.
[^] # Re: Génial
Posté par chicco . En réponse à la dépêche OCaml 4.03. Évalué à 1.
En fait, optimiser du Haskell est beaucoup plus dur que OCaml. L'une des choses les plus importante pour avoir du Haskell efficace est l'analyse de 'strictness' (la non paresse). Il y a un gap de performance énorme entre une fonction strict et sa version paresseuse. C'est un peu comme la différence entre le calcul flottant OCaml boxé et non boxé, mais en pire. Ce qui fait que si cette analyse là ne s'est pas bien passée, toute autre optimisation est en fait complètement inutile ( un peu exagéré en fait, mais c'est l'idée ). D'où pas mal des transformations au niveau des langages intermédiaires de GHC servent surtout à rendre le code plus évident pour cette analyse.