87 votes

Qu'est-ce qu'une "boucle serrée"?

J'ai beaucoup entendu cette phrase. Qu'est-ce que ça veut dire?

Un exemple aiderait.

56voto

KennyTM Points 232647

Du Wiktionnaire :

  1. (informatique) Dans les langages d'assemblage, une boucle contenant peu d'instructions et itérant plusieurs fois.
  2. (informatique) Une boucle utilisant de manière intensive des ressources d'E / S ou de traitement, ne les partageant pas correctement avec d'autres programmes exécutés dans le système d'exploitation.

Pour le cas 1, c'est probablement comme

 for (unsigned int i = 0; i < 0xffffffff; ++ i) {}
 

32voto

Ray Points 12711

Je pense que cette expression est généralement utilisée pour désigner une boucle qui se répète plusieurs fois et qui peut avoir un effet important sur les performances du programme - en d’autres termes, elle peut utiliser de nombreux cycles de calcul. Habituellement, vous entendez cette phrase lors d’une discussion sur l’optimisation.

Par exemple, je pense au jeu où une boucle peut avoir besoin de traiter chaque pixel de l’écran, ou à une application scientifique, où une boucle traite des entrées dans des matrices gigantesques de points de données.

14voto

AndiDog Points 28417

Il y a un bon exemple d'une boucle serrée (~ boucle infinie) dans la vidéo de Jon Skeet et Tony le Poney.

L'exemple est:

while(text.IndexOf("  ") != -1) text = text.Replace("  ", " ");

qui produit une boucle serrée, car IndexOf ignore Unicode zéro de la largeur des caractères (trouve donc deux cases voisines), mais Replace ne les ignorez pas (donc pas de remplacer toutes les cases adjacentes).

Il y a déjà de bonnes définitions dans les autres réponses, donc je n'en parle pas encore.

4voto

Pawel J. Wal Points 531

Selon le dictionnaire Webster, "une boucle de code qui s'exécute sans libérer de ressources pour les autres programmes ou le système d'exploitation".

http://www.websters-online-dictionary.org/ti/tight+loop.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X