J'ai fais un peu d'assembleur (un an dans une entreprise qui fabriquait ses propres ordinateurs, et cinq ans en amateur à programmer des jeux, sur des Intel X86 et des Motorola).
Merci pour le lien. Pour ma part, je n'y vois rien de bien nouveau. Si vous pensez qu'il a des nouveautés (et je sens que vous avez des choses en tête), alors n'hésitez pas à vous exprimer plutôt que de donner des liens.
Les optimisations ont toujours existé. Mais elles sont souvent décevantes dans la pratique, contrairement à ce que peuvent dire quelques journalistes, et à ce que peuvent penser quelques novices. On gagne quelques cycles par-ci, par-là, mais cela ne fait pas grand chose au total.
Alors que si on réfléchit bien à son programme, on va souvent trouver des améliorations qui permettent des gains importants. Par exemple, on rajoutera un index ou une table de hashage, ou bien, on travaillera de manière incrémentale, on ne redessinera que certaines parties de l'écran, etc. Cela, l'assembleur ne peut pas le faire, car c'est à un niveau trop global pour le microprocesseur.
Ce qui changerait vraiment serait si le programmeur pouvait lui-même gérer la mémoire cache interne au microprocesseur, on aurait alors de la mémoire à trois vitesses (les registres, le cache, et la ram). Ou autre chose, si on évoluait du binaire vers le ternaire.