est-ce que 5+toto est évalué à chaque boucle, ou le compilateur est
assez malin pour faire l'évaluation au debut et stocker le resultat dans
une variable temporaire ?
N'oublions pas qu'on parle ici surtout des compilateurs pour des processeurs parallels. Il y a peu, ça signifiait des Cray et companie. Depuis peu, en revanche, il y a du hyper-threading sur des PC. Il va falloir que les implémenteurs de compilateur s'y mettent.
Ce n'est pas si récent. A ma connaissance, les machines multiprocesseurs se sont démocratisées vers 1995, avec des cartes mères supportants de 2 à 4 pentium-pro.
Même avant. Il y a eu le transputer, par exemple. L'idée est assez ancienne. La grande différence aujourd'hui, c'est qu'il y a de la pub forte autour du principe.
Les premiers processeurs à supporter efficacement le multitâche (de type hyperthreading) sont apparues en 2001 (RS64 IV), et des processeurs multi-cores existent depuis la même époque (POWER4) : http://www-128.ibm.com/developerworks/library/l-powhist/
Le transputer existait bien avant, et je crois que déjà dans les années 70, il y avait un ordinateur à base de quelque milliers de 8080 à l'University of Illinois. L'idée, comme j'ai dit, n'a rien de nouveau.
Alors, comme j'ai dit, il va valloir que les implémenteurs de compilateur s'y mettent. (Et ceux des systèmes d'exploitation. Il n'y a rien sous Solaris, par exemple, pour supporter ce genre de parallelisme à granularité fine.)
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Richard Delorme wrote:
N'oublions pas qu'on parle ici surtout des compilateurs pour
des processeurs parallels. Il y a peu, ça signifiait des
Cray et companie. Depuis peu, en revanche, il y a du
hyper-threading sur des PC. Il va falloir que les
implémenteurs de compilateur s'y mettent.
Ce n'est pas si récent. A ma connaissance, les machines
multiprocesseurs se sont démocratisées vers 1995, avec des
cartes mères supportants de 2 à 4 pentium-pro.
Même avant. Il y a eu le transputer, par exemple. L'idée est
assez ancienne. La grande différence aujourd'hui, c'est qu'il y
a de la pub forte autour du principe.
Les premiers processeurs à supporter efficacement le
multitâche (de type hyperthreading) sont apparues en 2001
(RS64 IV), et des processeurs multi-cores existent depuis la
même époque (POWER4) :
http://www-128.ibm.com/developerworks/library/l-powhist/
Le transputer existait bien avant, et je crois que déjà dans les
années 70, il y avait un ordinateur à base de quelque milliers
de 8080 à l'University of Illinois. L'idée, comme j'ai dit, n'a
rien de nouveau.
Alors, comme j'ai dit, il va valloir que les implémenteurs de
compilateur s'y mettent. (Et ceux des systèmes d'exploitation.
Il n'y a rien sous Solaris, par exemple, pour supporter ce genre
de parallelisme à granularité fine.)
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
N'oublions pas qu'on parle ici surtout des compilateurs pour des processeurs parallels. Il y a peu, ça signifiait des Cray et companie. Depuis peu, en revanche, il y a du hyper-threading sur des PC. Il va falloir que les implémenteurs de compilateur s'y mettent.
Ce n'est pas si récent. A ma connaissance, les machines multiprocesseurs se sont démocratisées vers 1995, avec des cartes mères supportants de 2 à 4 pentium-pro.
Même avant. Il y a eu le transputer, par exemple. L'idée est assez ancienne. La grande différence aujourd'hui, c'est qu'il y a de la pub forte autour du principe.
Les premiers processeurs à supporter efficacement le multitâche (de type hyperthreading) sont apparues en 2001 (RS64 IV), et des processeurs multi-cores existent depuis la même époque (POWER4) : http://www-128.ibm.com/developerworks/library/l-powhist/
Le transputer existait bien avant, et je crois que déjà dans les années 70, il y avait un ordinateur à base de quelque milliers de 8080 à l'University of Illinois. L'idée, comme j'ai dit, n'a rien de nouveau.
Alors, comme j'ai dit, il va valloir que les implémenteurs de compilateur s'y mettent. (Et ceux des systèmes d'exploitation. Il n'y a rien sous Solaris, par exemple, pour supporter ce genre de parallelisme à granularité fine.)
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34