Il ne faut pas oublier que l'archi x86 (32 ou 64 bits) comprend tout plein de mécanismes hardware qui font que du code pas très optimisé tourne au final pas si mal. Par exemple sur architecture Core, on a des prefetchers hardware au niveau des caches, un cache de micro-instructions (bon ok, tout petit, mais quand meme), une exécution dans le désordre des instructions ... Bref, le compilateur est beaucoup soulagé par une architecture qui fait beaucoup de choses sans qu'on lui demande.
Ah ben justement, Stephenson, avec Snow Crash et surtout Cryptonomicon (je passe sous silence l'excellent Diamond Age), a bien annoncé l'évolution du cyberpunk vers une littérature de plus en plus proche de notre époque. D'ailleurs, Virtual Light est clairement un hommage à Snow Crash selon moi, dans le sens où Gibson se place dans un monde bien moins technologique, beaucoup plus proche de notre réalité, tout comme Snow Crash l'avait fait avant.
J'avais d'ailleurs lu dans un magazine il y a une dizaine d'années, et qui présentait le style cyberpunk que Gibson avait déclaré : « j'ai vu le futur du Cyberpunk, et il s'appelle Neal Stephenson ».
Pour moi Gibson a posé les fondations du Cyberpunk, et Stephenson incarne la sophistication du style.
J'imagine bien l'état de nos cartes bleues aujourd'hui, et de la crypto en général, ou des générateurs pseudo-aléatoires, si on se disait systématiquement "à quoi ça peut me servir de trouver le prochain nombre premier ?" ou bien "franchement, trouver les nouvelles décimales de PI, ça sert à rien. Bon, on arrête"...
J'ai eu un prof qui nous disait que « Je vous rassure, contrairement à d'autres profs, je note de 0 à 20... Enfin, non, de 1 à 20, parce que le 0 nécessite une justification auprès du jury de fin de semestre. »
« [Le Hezbollah] a reussi a rassembler quasiment un million de libanais dans les rues de Beyrouth peu apres la mort de Rafic Hariri. 1 million sur les 3 millions et demi d'habitants. Trouves moi un parti francais capable d'amener 20 millions de personnes a Paris pour une manif... »
Ce n'est pas une comparaison juste. Il y a un effet d'échelle (et si tu as fait de la programmation massivement parallèle, tu sais bien que faire un algo parallèle sur 4 processeurs, ce n'est pas pareil du tout que sur 16 ou 32 procs ! :-) ). Jusqu'à présent, même si je ne suis pas forcément d'accord avec ce que tu racontes, tu fais preuve d'assez peu de mauvaise foi, mais ton exemple, là, est de la mauvaise foi caractérisée.
Dire que le Hezbollah a réussi à faire venir 1 million de personnes dans la rue est assez éloquent, pas la peine d'en rajouter.
Tu veux dire comme la vidéo où l'on voit un civil palestinien se faire tuer par l'armée israélienne. 2 semaines après on apprend que c'était un tir amis des palestiniens ?
Si tu parles du petit qui envoyait des pierres aux soldats israéliens et qui s'est pris une balle, la conclusion a été, pour autant que je me souvienne, "on ne sait pas à quel camp appartient la balle".
Parce que du point de vue compilation, et architecture à proprement parler, je trouve que c'est une bonne machine. Maintenant, c'est vrai qu'en calcul entier, c'est une bouse. Mais pour comparaison, là où un Bi-Xeon Core 2 @2 GHz fait en moyenne du 5-6 GFLOPS pour les meilleures perfs mono-coeur (sur 8 GFLOPS théoriques), un Itanium 2 peut faire du 6.2 GFLOPS (sur 6.4 théoriques), soit dans près de 90% de la performance crête. Je me dis que ça pourrait être une excellente voie à explorer par la suite (vivent les VLIW !)
Euh, l'Itanium est une archi morte hein. D'ici deux à trois ans, elle n'existera sans doute malheureusement plus (et en tout cas sera sans doute confinée à quelques clusters pour faire du calcul scientifique).
Dans l'absolu, c'est évidemment une bonne idée. Maintenant, je vois deux objections :
1) On n'a pas une pierre en face, mais un groupe de personnes, qui ne font pas que réagir (ils sont proactifs). Croire qu'en arrêtant de les titiller ils vont eux-mêmes arrêter d'attaquer est naïf, je pense.
2) Pour que la « pierre » se calme, il faut la laisser bouger encore un peu -- au niveau des populations, ça signifie réussir à expliquer et faire accepter à l'un des deux peuples qu'il va falloir accepter de se faire tirer dessus quelques temps, avec les blessés et les morts que cela implique, sans exercer de représailles. Tout le monde ne s'appelle pas Gandhi.
Ça n'a rien à voir. Dire que quelqu'un est raciste a une connotation de « haine de l'étranger de l'intérieur » (« l'étranger » en question correspondant à « tout ce qui n'est pas issu de la même culture que moi »).
Préciser « antisémite » permet pour moi de mieux qualifier la nature de cette peur/haine de l'autre. Tu ne te sens peut-être pas responsable de ce qui s'est passé en 40 (et ça se comprend bien), mais il existe encore des gens pour dire que les juifs sont déicides, qu'ils aiment l'argent, ...; tout comme il existe des gens pour dire que les arabes sont menteurs et voleurs, que les roux puent (mais bon, ça c'est vrai [2]), etc.
« Mais dans ce cas là, on devrait énoncer toutes les exceptions »
Il ne s'agit pas pour moi d'exception mais de précision (cf ma diatribe juste au-dessus).
Dernière petite chose :
« Tu te sens peut-être coupable de ce qui s'est passé en 40, mais pas moi. »
Bon, faudrait arrêter un peu avec 40. La persécution faite aux juifs ce n'est pas QUE en 40 (et en fait surtout pas en 40, vu que rien n'était encore bien méchant pour les juifs -- au moins en France). Les juifs ont été persécutés durant des siècles, et l'antisémitisme qui sévissait durant la première moitié du XXè siècle n'en est que le résultat. Ça ne veut pas dire qu'il faut se flageller encore et toujours, ça veut dire qu'il y aura une part de responsabilité transmise aux peuples d'Europe pendant encore un bon moment, tout comme cela devrait exister pour les populations réduites en esclavage jusqu'à il n'y a pas si longtemps. Un peu de culpabilisation nous ferait les pieds, et nous permettrait peut-être de penser un peu plus à notre prochain.
Enfin, ce n'est que mon avis de culpabilisé notoire.
[1] Même si en pratique on devrait dire « anti-juif », puisque les habitants du Moyen-Orient font partie des peuples sémites, après tout. Mais bon, l'usage du mot a changé ... Je sais que la majorité d'entre vous le savent, mais je suis adepte de l'argumentation défensive. ;-)
Tiens, dans la première citation, peux-tu me dire exactement où se trouve le racisme spécifiquement ? Le mot « nègre » ne peut être utilisé, car à l'époque on ne disait pas « noir ». Sa position sur l'esclavage, bien que détestable, n'est pas non plus une indication de son racisme.
Bon, toute mauvaise foi mise à part, la fin de la citation relève bien du racisme selon moi (la partie sur la supériorité d'un peuple sur un autre). :-)
« Je ne me prononce pas sur ses idées ou autres. Après tout je n'ai jamais vraiment aimé voltaire, ni les classiques en général. »
C'est dommage, il s'agit quand même de penseurs qui ont permis au moins 2 révolutions (en Amérique, et en France). Bon, ensuite on a le droit à Marx qui explique que Robespierre n'était pas dans l'erreur, et Lénine qui lui emboite le pas et va jusqu'au bout de la terreur rouge, mais bon ... :-)
Bon, je connais bien ce genre de débat, j'y ai droit régulièrement. J'ai eu des disputes très violentes avec de très bons amis lorsque l'intifada a repris. Bref, rien ne change.
Je pense que pBpG a mal formulé son premier post, car tu continues de t'y référer, mais je trouve qu'il a très bien explicité son argumentation par la suite (après, être d'accord ou pas, c'est autre chose) : si la communauté internationale ne fait rien -- à cause de l'histoire de l'Europe et des juifs ; à cause des intérêts financiers ; à cause des populations juives installées en Occident et qui ont de la famille en Israël ; etc. ; bref, si personne « d'extérieur » ne fait rien, le Liban a un poids économique et « social » bien moindre qu'Israël, et on pourrait être tenté de croire qu'il y aurait bombardement unilatéral.
« Non, mais ceux qui disent que c'est regrettable que des israéliens ne sont pas morts parce que ça leur aurait appris, oui. »
Tu t'échauffes pour rien. Il n'y a rien de raciste dans sa prose. Le racisme suppose qu'on parle de ... « races ». Aux dernières nouvelles, il y a encore tout un tas d'arabes en Israël et pas seulement des juifs, et dire qu'on estime que viser des cibles civiles ne serait que juste retour des choses n'a absolument rien de raciste. Je trouve l'idée idiote, mais pas raciste pour deux sous. Si la situation avait été la même avec deux autres pays différents, il aurait très certainement formulé les mêmes idées. De ce que je comprends, c'est qu'étant donné sa vision des faits (« le Hezbollah a toujours privilégié les cibles militaires, contrairement à Israël qui vise aussi les civils, et ne vise les civils que lorsqu'Israël l'a précédemment fait »), et devant l'inégalité des relations entre la communauté internationale et ces deux pays, alors le Liban devrait se battre avec les dernières armes qui lui restent : attaquer les civils.
« Il y a une grande différence entre critiquer ce qu'un état fait et de regretter qu'il n'y ait pas eu mort de civils. »
C'est vrai. Ça n'a pas empêché les USA d'envoyer une bombe atomique sur Hiroshima et Nagasaki. Si pour Nagasaki, je ne suis pas tout à fait persuadé de l'utilité de la chose, pour Hiroshima, on sait que l'empereur de l'époque ne voulait pas s'avouer vaincu, et voulait encore recruter des hommes, ce qui aurait sans doute prolongé la guerre pendant plusieurs mois, avec les abus, les blessés et les morts (dans chaque camp) que cela implique. Du coup, il y a eu un choix terrible à faire : massacrer une population civile (car il s'agit bien d'un massacre) en masse, ou bien continuer une guerre « traditionnelle » (je mets des guillemets parce que les règles de la guerre n'avaient déjà plus grand chose à voir avec les précédentes ...).
« Non, mais ceux qui disent que c'est regrettable que des israéliens ne sont pas morts parce que ça leur aurait appris, oui. »
Pourtant c'est l'attitude de nombre d'israéliens dont on peut retrouver les témoignages épars sur le net. Vis à vis de la population palestinienne, ça a été l'attitude du gouvernement, largement soutenu par sa population (on fout deux-trois « baffes » aux palestiniens, ça fait 200-300 morts et blessés, on espère que cette fois ils auront compris qu'on est les plus forts, car il n'y a que « ça » qu'ils comprennent, etc.).
Je me garderai bien de parler de la guerre qu'il y a eu au Liban, car je ne suis pas assez informé ; par contre, parler de l'attitude d'Israël, et défendre la position de pBpG, même si je ne suis pas d'accord avec lui, je peux en toute connaissance de cause.
« La désinformation etc... surtout pour les israéliens (le mossad est un service secret très réputé) faut pas croire que ça arrive que dans les films ;) »
Tu oublies quand même de nuancer en disant que les journaux d'investigation existent aussi en Israël, qu'il existe une presse « d'opposition » là-bas, etc. La désinformation existe dans tous les pays bien sûr (démocratiques ou pas), mais bizarrement, j'ai l'impression qu'Israël n'est pas un pays moins manipulé que les USA quelque part -- et clairement moins que les pays soumis à un régime totalitaire. Après bien sûr, tout dépend d'à quel point tu considères les étatsuniens comme manipulés. ;-)
Antisémite plutôt non ? Et de façon générale, je pense que parler des idées de penseurs qui ont vécu plusieurs siècles avant notre ère et qui ne sont plus considérées comme pertinentes de nos jours relève de l'anachronisme.
Je me suis mal exprimé. Ce que je voulais dire, c'est que la taille fixe des instructions permet certaines micro-optimisations précieuses dans les cas [1] où la performance est primordiale.
« Alors je comprends bien que la comparaison type1/type2 est très à la mode (surtout dans les équipes marketing), mais elle devient obsolète, un peu comme la différence RISC/CISC il y a quelques années »
Euh ... Le CISC pose encore pas mal de problèmes pour les programmeurs de bibliothèques de performance... Même s'il y a du RISC derrière les instructions CISC des x86 modernes, ça n'empêche pas le fait que les instructions sont de taille variable, et donc provoquent l'insertion de bulles dans le pipeline à cause du décodeur d'instruction qui est incapable de savoir correctement à l'avance jusqu'à quel point il va devoir décoder, si l'instruction est déjà dans le cache de micro-code, etc...
Au moins en RISC, les instructions font 32 ou 64 bits, et puis c'est tout. Idem sur les VLIW. Bref, CISC reste un gros boulet qu'on se traîne.
« si tu fais "c=a+b-a" en C, avec des flottants, le compilateur fera vraiment a+b-a. il ne cherchera pas à simplifier. »
Non. Ce genre de comportement (éliminer les 'a') est totalement dépendant du compilateur. Par exemple, avec la plâtrée de transformations optimisantes qu'on trouve dans icc par exemple, je ne suis pas certain que ce que tu affirmes soit vrai (je vais tester demain, je te tiendrai au courant :-) ).
En fait tout dépend de l'ordre dans lequel les transformations ont été effectuées : une fois toutes les fausses dépendances éliminées (grâce à SSA ou autre), on peut très bien couper les branches inutiles de l'AST, et examiner plus en détail les expressions arithmétiques de chaque noeud restant de l'arbre.
Évidemment, sur des cas bien plus complexes (car « cachés »), l'optimisation n'aura pas forcément lieu.
« Et même si le CPU effectue plusieurs opération en parallèle, il ne réordonne JAMAIS les instructions, »
Si. Typiquement sur les x86, les instructions sont exécutées dans le désordre du moment qu'il n'y a pas de dépendance de donnée (les dépendances WAR dont parlait nicO) et que les unités fonctionnelles sont disponibles. Ceci évidemment sans parler de la spéculation sur les branchements, qui provoquent le vidage du pipeline lorsque la machine a mal spéculé.
« il "délivre" les instructions dans le même ordre que celui avec lequel elles arrivent. »
Non, il y a un Reorder Buffer (ROB) qui se charge de remettre le résultat des instructions dans l'ordre pour garder la sémantique du programme, mais avant ça, les instructions peuvent parfaitement avoir été exécutées dans un ordre différent.
Qu'entends-tu par « interdit » ? Le compilateur comprend parfaitement ce que tu veux dire lorsqu'il est écrit
res = (a + b) + (c + d)
Tu n'as aucun moyen de savoir si (a+b) sera effectué avant (c + d), mais sinon, le compilateur « comprend » les priorités. Par contre, si par une analyse statique quelconque il voit que les parenthèses sont inutiles, et qu'il pourrait s'arranger différemment, il ne va pas se gêner.
Le vrai problème de l'ordre d'évaluation se pose plutôt pour des choses du genre
res = f1() + f2() + f3() + f4();
(en supposant que les f*() sont définies dans une unité de compilation différente)
Dans ce cas-là, si toi, programmeur, tu demandes un ordre spécifique en parenthésant, je ne suis pas certain que le compilateur s'amuse toujours à changer l'ordre des opérations ...
« C'est encore la supériorité de la fpu x87 par rapport à SSE. Le x87 contient toute la trigo en hardware, contrairement à SSE. D'ailleurs, AMD était connu pour avoir une implémentation x87 musclé par rapport au processeur Intel qui favorisait plutot le SSE. Cela se voyait dans certain tests "scientifiques". »
Euh. Pour moi, SSE et x87 n'ont pas du tout la même finalité. En SSE, tu manipules des blocs de 128 bits, sur lesquels tu effectues des opérations « vectorielles ». Donc en pratique, ça donne 4 multiplications simple précision faites en une seule fois ou bien 2 double précision. Mais en réalité, les mêmes instructions SSE servent aussi au calcul entier. À charge du processeur de savoir retrouver ses petits.
Un co-processeur arithmétique « quelconque » est, lui, chargé « spécifiquement » de régler les problèmes liés aux flottants -- et donc intégrer des fonctions mathématiques câblées en dur ne semble pas déraisonnable. À mon avis, avec l'approche d'AMD (intégration future de GPU de plus en plus près des CPU, jusqu'au point de partager des unités fonctionnelles ou des registres/mémoires), et de façon générale la « généralisation » des tâches des GPU, on va tout bêtement redécouvrir les joies des « coprocesseurs arithmétiques » version carte à enficher dans un port PCI-E...
« Par ce que a+b+c+d sera plus lent que (a+b)+(c+d) car tu enlèves une dépendance read-after-write. »
Non. Enfin, je trouve que tu as mal formulé. Suivant le langage, tu as des certitudes ou pas concernant l'évalutation des opérandes. Par exemple, avec C, tu n'as aucune certitude quant à l'ordre d'évaluation de res = a + b + c +d. En Java, il est spécifié que les opérandes sont évalués de gauche à droite.
Maintenant évidemment, « dans le doute », tu peux parenthéser. Mais normalement, l'utilisation de transformations optimisantes dans les compilateurs est justement censer t'éviter de tout faire à la main.
Typiquement, avec la mise sous forme SSA, les fausses dépendances (WAW, RAR, WAR) peuvent être éliminées, et les opérations indépendantes mises en valeur et réordonnancées -- et ce, quel que soit l'ordre souhaité par le programmeur à la base. Tout ceci sans parler des processeurs qui exécutent les instructions dans le désordre, bien entendu.
Oui, mais ça nécessite quand même de faire attention à la topologie. On a une « fausse » mémoire partagée, ce qui permet d'utiliser les threads, etc., mais pour des besoins de performance, il sera quand même nécessaire de faire attention à la localité des données, car même avec une interconnexion dédiée, la migration de threads, ou le partage de gros volumes de données peut coûter très cher (facteur NUMA, tout ça).
Ça va aussi être le cas pour des machines bien plus modestes à l'avenir, avec l'HyperTransport d'AMD (déjà présent depuis un moment) et le CSI d'Intel d'une part, et l'utilisation sans doute de plus en plus massive de cartes de calcul dédiées (cartes graphiques et « GPU » en tous genres).
En France, une licence doit être rédigée en Français, sinon elle n'a pas vraiment de valeur, si je ne me trompe pas. C'est entre autres pour ça que la Cecill a été créée.
J'ai envie de répondre que c'est un peu le cas de tout le monde ayant touché à Java... :-)
Cela dit, si on sait utiliser l'introspection et la réflexion à bon escient, on peut faire pas mal de choses ... Mais la syntaxe reste assez rigide, elle. :-/
[^] # Re: Performances ?
Posté par lasher . En réponse à la dépêche LLVM 2.2 : Un concurrent pour GCC ?. Évalué à 2.
[^] # Re: C'est pas un peu prétentieux
Posté par lasher . En réponse à la dépêche William Gibson en signature à Paris !. Évalué à 2.
J'avais d'ailleurs lu dans un magazine il y a une dizaine d'années, et qui présentait le style cyberpunk que Gibson avait déclaré : « j'ai vu le futur du Cyberpunk, et il s'appelle Neal Stephenson ».
Pour moi Gibson a posé les fondations du Cyberpunk, et Stephenson incarne la sophistication du style.
[^] # Re: perles
Posté par lasher . En réponse au journal Le plagiat sur internet. Évalué à 4.
[^] # Re: en effet, pas qu'en Angleterre
Posté par lasher . En réponse au journal Le plagiat sur internet. Évalué à 1.
[^] # Re: guerre du Liban ....
Posté par lasher . En réponse au journal L'effroyable imposture 2. Évalué à 2.
Ce n'est pas une comparaison juste. Il y a un effet d'échelle (et si tu as fait de la programmation massivement parallèle, tu sais bien que faire un algo parallèle sur 4 processeurs, ce n'est pas pareil du tout que sur 16 ou 32 procs ! :-) ). Jusqu'à présent, même si je ne suis pas forcément d'accord avec ce que tu racontes, tu fais preuve d'assez peu de mauvaise foi, mais ton exemple, là, est de la mauvaise foi caractérisée.
Dire que le Hezbollah a réussi à faire venir 1 million de personnes dans la rue est assez éloquent, pas la peine d'en rajouter.
[^] # Re: guerre du Liban ....
Posté par lasher . En réponse au journal L'effroyable imposture 2. Évalué à 2.
Si tu parles du petit qui envoyait des pierres aux soldats israéliens et qui s'est pris une balle, la conclusion a été, pour autant que je me souvienne, "on ne sait pas à quel camp appartient la balle".
[^] # Re: Bémol
Posté par lasher . En réponse au journal Sun publie les spec. du Niagara 2. Évalué à 3.
[^] # Re: Bémol
Posté par lasher . En réponse au journal Sun publie les spec. du Niagara 2. Évalué à 5.
[^] # Re: guerre du Liban ....
Posté par lasher . En réponse au journal L'effroyable imposture 2. Évalué à 4.
1) On n'a pas une pierre en face, mais un groupe de personnes, qui ne font pas que réagir (ils sont proactifs). Croire qu'en arrêtant de les titiller ils vont eux-mêmes arrêter d'attaquer est naïf, je pense.
2) Pour que la « pierre » se calme, il faut la laisser bouger encore un peu -- au niveau des populations, ça signifie réussir à expliquer et faire accepter à l'un des deux peuples qu'il va falloir accepter de se faire tirer dessus quelques temps, avec les blessés et les morts que cela implique, sans exercer de représailles. Tout le monde ne s'appelle pas Gandhi.
[^] # Re: Alain Soral
Posté par lasher . En réponse au journal L'effroyable imposture 2. Évalué à 2.
Préciser « antisémite » permet pour moi de mieux qualifier la nature de cette peur/haine de l'autre. Tu ne te sens peut-être pas responsable de ce qui s'est passé en 40 (et ça se comprend bien), mais il existe encore des gens pour dire que les juifs sont déicides, qu'ils aiment l'argent, ...; tout comme il existe des gens pour dire que les arabes sont menteurs et voleurs, que les roux puent (mais bon, ça c'est vrai [2]), etc.
« Mais dans ce cas là, on devrait énoncer toutes les exceptions »
Il ne s'agit pas pour moi d'exception mais de précision (cf ma diatribe juste au-dessus).
Dernière petite chose :
« Tu te sens peut-être coupable de ce qui s'est passé en 40, mais pas moi. »
Bon, faudrait arrêter un peu avec 40. La persécution faite aux juifs ce n'est pas QUE en 40 (et en fait surtout pas en 40, vu que rien n'était encore bien méchant pour les juifs -- au moins en France). Les juifs ont été persécutés durant des siècles, et l'antisémitisme qui sévissait durant la première moitié du XXè siècle n'en est que le résultat. Ça ne veut pas dire qu'il faut se flageller encore et toujours, ça veut dire qu'il y aura une part de responsabilité transmise aux peuples d'Europe pendant encore un bon moment, tout comme cela devrait exister pour les populations réduites en esclavage jusqu'à il n'y a pas si longtemps. Un peu de culpabilisation nous ferait les pieds, et nous permettrait peut-être de penser un peu plus à notre prochain.
Enfin, ce n'est que mon avis de culpabilisé notoire.
[1] Même si en pratique on devrait dire « anti-juif », puisque les habitants du Moyen-Orient font partie des peuples sémites, après tout. Mais bon, l'usage du mot a changé ... Je sais que la majorité d'entre vous le savent, mais je suis adepte de l'argumentation défensive. ;-)
[2] oui, je sais --> [ ]
[^] # Re: Alain Soral
Posté par lasher . En réponse au journal L'effroyable imposture 2. Évalué à 3.
Bon, toute mauvaise foi mise à part, la fin de la citation relève bien du racisme selon moi (la partie sur la supériorité d'un peuple sur un autre). :-)
« Je ne me prononce pas sur ses idées ou autres. Après tout je n'ai jamais vraiment aimé voltaire, ni les classiques en général. »
C'est dommage, il s'agit quand même de penseurs qui ont permis au moins 2 révolutions (en Amérique, et en France). Bon, ensuite on a le droit à Marx qui explique que Robespierre n'était pas dans l'erreur, et Lénine qui lui emboite le pas et va jusqu'au bout de la terreur rouge, mais bon ... :-)
[^] # Re: guerre du Liban ....
Posté par lasher . En réponse au journal L'effroyable imposture 2. Évalué à 2.
Je pense que pBpG a mal formulé son premier post, car tu continues de t'y référer, mais je trouve qu'il a très bien explicité son argumentation par la suite (après, être d'accord ou pas, c'est autre chose) : si la communauté internationale ne fait rien -- à cause de l'histoire de l'Europe et des juifs ; à cause des intérêts financiers ; à cause des populations juives installées en Occident et qui ont de la famille en Israël ; etc. ; bref, si personne « d'extérieur » ne fait rien, le Liban a un poids économique et « social » bien moindre qu'Israël, et on pourrait être tenté de croire qu'il y aurait bombardement unilatéral.
« Non, mais ceux qui disent que c'est regrettable que des israéliens ne sont pas morts parce que ça leur aurait appris, oui. »
Tu t'échauffes pour rien. Il n'y a rien de raciste dans sa prose. Le racisme suppose qu'on parle de ... « races ». Aux dernières nouvelles, il y a encore tout un tas d'arabes en Israël et pas seulement des juifs, et dire qu'on estime que viser des cibles civiles ne serait que juste retour des choses n'a absolument rien de raciste. Je trouve l'idée idiote, mais pas raciste pour deux sous. Si la situation avait été la même avec deux autres pays différents, il aurait très certainement formulé les mêmes idées. De ce que je comprends, c'est qu'étant donné sa vision des faits (« le Hezbollah a toujours privilégié les cibles militaires, contrairement à Israël qui vise aussi les civils, et ne vise les civils que lorsqu'Israël l'a précédemment fait »), et devant l'inégalité des relations entre la communauté internationale et ces deux pays, alors le Liban devrait se battre avec les dernières armes qui lui restent : attaquer les civils.
« Il y a une grande différence entre critiquer ce qu'un état fait et de regretter qu'il n'y ait pas eu mort de civils. »
C'est vrai. Ça n'a pas empêché les USA d'envoyer une bombe atomique sur Hiroshima et Nagasaki. Si pour Nagasaki, je ne suis pas tout à fait persuadé de l'utilité de la chose, pour Hiroshima, on sait que l'empereur de l'époque ne voulait pas s'avouer vaincu, et voulait encore recruter des hommes, ce qui aurait sans doute prolongé la guerre pendant plusieurs mois, avec les abus, les blessés et les morts (dans chaque camp) que cela implique. Du coup, il y a eu un choix terrible à faire : massacrer une population civile (car il s'agit bien d'un massacre) en masse, ou bien continuer une guerre « traditionnelle » (je mets des guillemets parce que les règles de la guerre n'avaient déjà plus grand chose à voir avec les précédentes ...).
« Non, mais ceux qui disent que c'est regrettable que des israéliens ne sont pas morts parce que ça leur aurait appris, oui. »
Pourtant c'est l'attitude de nombre d'israéliens dont on peut retrouver les témoignages épars sur le net. Vis à vis de la population palestinienne, ça a été l'attitude du gouvernement, largement soutenu par sa population (on fout deux-trois « baffes » aux palestiniens, ça fait 200-300 morts et blessés, on espère que cette fois ils auront compris qu'on est les plus forts, car il n'y a que « ça » qu'ils comprennent, etc.).
Je me garderai bien de parler de la guerre qu'il y a eu au Liban, car je ne suis pas assez informé ; par contre, parler de l'attitude d'Israël, et défendre la position de pBpG, même si je ne suis pas d'accord avec lui, je peux en toute connaissance de cause.
[^] # Re: guerre du Liban ....
Posté par lasher . En réponse au journal L'effroyable imposture 2. Évalué à 2.
Tu oublies quand même de nuancer en disant que les journaux d'investigation existent aussi en Israël, qu'il existe une presse « d'opposition » là-bas, etc. La désinformation existe dans tous les pays bien sûr (démocratiques ou pas), mais bizarrement, j'ai l'impression qu'Israël n'est pas un pays moins manipulé que les USA quelque part -- et clairement moins que les pays soumis à un régime totalitaire. Après bien sûr, tout dépend d'à quel point tu considères les étatsuniens comme manipulés. ;-)
[^] # Re: Alain Soral
Posté par lasher . En réponse au journal L'effroyable imposture 2. Évalué à 2.
[^] # Re: Quelques infos
Posté par lasher . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 3.
code :
Comme quoi, sur des cas simples, les compilateurs se débrouillent ...
[^] # Re: complément d'information sur M. Moshe Bar
Posté par lasher . En réponse à la dépêche Un cluster Kerrighed de 252 coeurs basé sur un noyau Linux 2.6.20. Évalué à 2.
[1] rares, je l'admets.
[^] # Re: complément d'information sur M. Moshe Bar
Posté par lasher . En réponse à la dépêche Un cluster Kerrighed de 252 coeurs basé sur un noyau Linux 2.6.20. Évalué à 2.
Euh ... Le CISC pose encore pas mal de problèmes pour les programmeurs de bibliothèques de performance... Même s'il y a du RISC derrière les instructions CISC des x86 modernes, ça n'empêche pas le fait que les instructions sont de taille variable, et donc provoquent l'insertion de bulles dans le pipeline à cause du décodeur d'instruction qui est incapable de savoir correctement à l'avance jusqu'à quel point il va devoir décoder, si l'instruction est déjà dans le cache de micro-code, etc...
Au moins en RISC, les instructions font 32 ou 64 bits, et puis c'est tout. Idem sur les VLIW. Bref, CISC reste un gros boulet qu'on se traîne.
[^] # Re: Quelques infos
Posté par lasher . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 3.
Non. Ce genre de comportement (éliminer les 'a') est totalement dépendant du compilateur. Par exemple, avec la plâtrée de transformations optimisantes qu'on trouve dans icc par exemple, je ne suis pas certain que ce que tu affirmes soit vrai (je vais tester demain, je te tiendrai au courant :-) ).
En fait tout dépend de l'ordre dans lequel les transformations ont été effectuées : une fois toutes les fausses dépendances éliminées (grâce à SSA ou autre), on peut très bien couper les branches inutiles de l'AST, et examiner plus en détail les expressions arithmétiques de chaque noeud restant de l'arbre.
Évidemment, sur des cas bien plus complexes (car « cachés »), l'optimisation n'aura pas forcément lieu.
« Et même si le CPU effectue plusieurs opération en parallèle, il ne réordonne JAMAIS les instructions, »
Si. Typiquement sur les x86, les instructions sont exécutées dans le désordre du moment qu'il n'y a pas de dépendance de donnée (les dépendances WAR dont parlait nicO) et que les unités fonctionnelles sont disponibles. Ceci évidemment sans parler de la spéculation sur les branchements, qui provoquent le vidage du pipeline lorsque la machine a mal spéculé.
« il "délivre" les instructions dans le même ordre que celui avec lequel elles arrivent. »
Non, il y a un Reorder Buffer (ROB) qui se charge de remettre le résultat des instructions dans l'ordre pour garder la sémantique du programme, mais avant ça, les instructions peuvent parfaitement avoir été exécutées dans un ordre différent.
[^] # Re: Quelques infos
Posté par lasher . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 2.
res = (a + b) + (c + d)
Tu n'as aucun moyen de savoir si (a+b) sera effectué avant (c + d), mais sinon, le compilateur « comprend » les priorités. Par contre, si par une analyse statique quelconque il voit que les parenthèses sont inutiles, et qu'il pourrait s'arranger différemment, il ne va pas se gêner.
Le vrai problème de l'ordre d'évaluation se pose plutôt pour des choses du genre
res = f1() + f2() + f3() + f4();
(en supposant que les f*() sont définies dans une unité de compilation différente)
Dans ce cas-là, si toi, programmeur, tu demandes un ordre spécifique en parenthésant, je ne suis pas certain que le compilateur s'amuse toujours à changer l'ordre des opérations ...
[^] # Re: plop again
Posté par lasher . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 3.
Euh. Pour moi, SSE et x87 n'ont pas du tout la même finalité. En SSE, tu manipules des blocs de 128 bits, sur lesquels tu effectues des opérations « vectorielles ». Donc en pratique, ça donne 4 multiplications simple précision faites en une seule fois ou bien 2 double précision. Mais en réalité, les mêmes instructions SSE servent aussi au calcul entier. À charge du processeur de savoir retrouver ses petits.
Un co-processeur arithmétique « quelconque » est, lui, chargé « spécifiquement » de régler les problèmes liés aux flottants -- et donc intégrer des fonctions mathématiques câblées en dur ne semble pas déraisonnable. À mon avis, avec l'approche d'AMD (intégration future de GPU de plus en plus près des CPU, jusqu'au point de partager des unités fonctionnelles ou des registres/mémoires), et de façon générale la « généralisation » des tâches des GPU, on va tout bêtement redécouvrir les joies des « coprocesseurs arithmétiques » version carte à enficher dans un port PCI-E...
[^] # Re: Quelques infos
Posté par lasher . En réponse au journal Comment les programmeurs écrivent du code flottant ?. Évalué à 1.
Non. Enfin, je trouve que tu as mal formulé. Suivant le langage, tu as des certitudes ou pas concernant l'évalutation des opérandes. Par exemple, avec C, tu n'as aucune certitude quant à l'ordre d'évaluation de res = a + b + c +d. En Java, il est spécifié que les opérandes sont évalués de gauche à droite.
Maintenant évidemment, « dans le doute », tu peux parenthéser. Mais normalement, l'utilisation de transformations optimisantes dans les compilateurs est justement censer t'éviter de tout faire à la main.
Typiquement, avec la mise sous forme SSA, les fausses dépendances (WAW, RAR, WAR) peuvent être éliminées, et les opérations indépendantes mises en valeur et réordonnancées -- et ce, quel que soit l'ordre souhaité par le programmeur à la base. Tout ceci sans parler des processeurs qui exécutent les instructions dans le désordre, bien entendu.
[^] # Re: Oui mais bon
Posté par lasher . En réponse à la dépêche Un cluster Kerrighed de 252 coeurs basé sur un noyau Linux 2.6.20. Évalué à 4.
Ça va aussi être le cas pour des machines bien plus modestes à l'avenir, avec l'HyperTransport d'AMD (déjà présent depuis un moment) et le CSI d'Intel d'une part, et l'utilisation sans doute de plus en plus massive de cartes de calcul dédiées (cartes graphiques et « GPU » en tous genres).
[^] # Re: 551
Posté par lasher . En réponse au journal Linux magazine n° 100. Évalué à 3.
[^] # Re: Liberté de...
Posté par lasher . En réponse à la dépêche KDE veut changer de licence. Évalué à -1.
[^] # Re: Meta-object protocol?
Posté par lasher . En réponse à la dépêche CodeWorker 4.4. Évalué à 4.
Cela dit, si on sait utiliser l'introspection et la réflexion à bon escient, on peut faire pas mal de choses ... Mais la syntaxe reste assez rigide, elle. :-/