en effet, plus les architectures evoluent et plus compiler intelligement du code devient difficile. Par exemple, quand on programme des machines paralleles, on aime bien savoir exactement ou sont les synchronisation de la mémoire, on aime bien en rajouter la ou il en faut (parceque sur des variables volatile, il va les synchroniser a chaque fois, mais on peut parfois etre plus intelligent).