Compilateurs
Si une boucle de 100 itérations est réécrite par déroulage avec quatre copies du corps, combien y a-t-il de tests de comptage et de branchements ? (100 est divisible par 4)
- A100
- B25
- C400
Afficher la réponse et l'explication
Réponse : B. 25
Avec quatre copies du corps, chaque itération effectue le travail de quatre itérations d'origine ; le nombre d'itérations devient 100 ÷ 4 = 25, et les tests de comptage et branchements passent aussi à 25. Par rapport aux 100 d'origine, le coût des branchements est divisé par quatre. Si le nombre d'itérations n'est pas divisible par 4, on ajoute après une courte boucle traitant le reste. 100 correspond à l'absence de déroulage, 400 à une multiplication erronée par le nombre de traitements du corps.