• [^] # Pas d'accord

    Posté par . En réponse à la dépêche Article sur le POWER4 d'IBM. Évalué à 10.

    C'est un reproche facile mais à mon avis faux. Une machine de bureau exécute peu d'algorithmes spécialisés. Au contraire, plus l'application est du type end-user, plus à mon avis elle se compose principalement de branchements, d'instructions conditionnelles, de quantités de petits traitements peu optimisables car ne présentant aucune régularité (penser aux fioritures du système de fenêtrage, de la gestion des évènements interactifs souris/clavier, etc.), et surtout de beaucoup de transferts mémoires et IO. Tout cela n'est pas résolu en bidouillant son petit algorithme dans son coin comme un super-demomaker de l'espace qui tue (d'ailleurs, mon expérience perso avec quelques demomakers est qu'ils ont bien du mal à accepter les contraintes d'un développement haut niveau et peuvent mettre en péril un projet par leur incapacité à comprendre des priorités raisonnables).

    Pour ce qui est des quelques algorithmes effectivement mis en jeu de façon routinière dans un ordinateur, je pense au contraire qu'ils sont pas mal optimisés. Il suffit de voir tous les encodeurs audio ou vidéo écrits spécifiquement pour exploiter le SSE d'Intel par exemple ; ou les récents changements dans le scheduler Linux (passage en O(1)). Mais, sauf utilisation méchamment spécialisée (lancer un batch de ray-tracing par exemple), ce type d'optimisations algorithmiques ne peut concerner qu'une partie de plus en plus réduite du code exécuté par une machine de bureau.