Bonjour,
j'ai un programme en C dont je crois qu'il est freiné par le temps d'accès à quelques données qu'il a en mémoire, et auxquelles il doit comparer incessamment de nouvelles tentatives qu'il fait.
Ces données peuvent être réduites à des groupes de trois bits (valeur de 1 à 8) dont il me faut trois pour décrire un "pas" (soit 9 bits).
Si chaque tiers de pas est stocké dans un mot-mémoire, il me faut le temps de trois accès mémoire pour récupérer la description d'un "pas" complet avant d'y comparer la nouvelle tentative.
J'hésite à concaténer les trois tiers de pas en 9 bits consécutifs pour un "pas", et je pourrai alors stocker 3 "pas", soit 27 bits, dans les 32 bits d'un mot de PC, mais il me faudra alors exécuter des décalages et des opérations sur bits pour récuperer chacun des tiers de chacun de mes "pas".
Combien d'opérations simples de ce genre puis-je me permettre de faire, tout en gagnant du temps par rapport aux 9 accès mémoire dont j'ai besoin quand tout est stocké séparément ? (ma machine est un PC à pentium sous W2000)
Merci,
David
Partager