Vitesse de programme

Messages postés
49
Date d'inscription
samedi 2 avril 2005
Statut
Membre
Dernière intervention
3 décembre 2008
- - Dernière réponse : BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
- 7 mai 2007 à 09:26
bonjour
j'ai A,B,C qui sont des boucles quelconques.
parmi ces 2 cas ci-dessous, quel est l'algorithmes le plus rapide?
cas 1)

for (i = 0; i < N; i++)

{

      A;

      B;

      C;

}

 

cas 2)

for (i = 0; i < N; i++)

{

      A;

}

for (i = 0; i < N; i++)

{

      B;

}

for (i = 0; i < N; i++)

{

      C;

}

ouais man
Afficher la suite 

5 réponses

Messages postés
212
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
28 mai 2011
1
0
Merci
bon tt d'abord ces 2 possibilitées ne sont pas equivalentes et ensuit
il n'y a pas de grande difference. dans le deuxiem cas il y a 2*N
additions en plus mais c'est negligeable.

<hr size="2" width="100%" />Trafic web gratuit!!!
Commenter la réponse de goast_tu
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
0
Merci
La 1 est plus rapide car tu économises 2N incrémentations et 2N branchements avec conditions par rapport à la 2.
Commenter la réponse de Galmiza
Messages postés
149
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
17 mai 2007
0
Merci
Salut,

Ca dépend aussi car si A peut être exécuté avec toute la mémoire dans le cache puis pareil pour B et pareil pour C ça ira plus vite que si A, B et C demandent trop de mémoire et que ça tient pas dans le cache et qu'il faut à chaque fois recharger tout.

@++

Une autruche ne se cuit pas aux petits lardons.
Commenter la réponse de emmatopiak
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
0
Merci
Exact, donc dans ce cas,

for (i = 0; i < N; i++)
{
      { A; }
      { B; }
      { C; }
}

est le plus rapide.
Commenter la réponse de Galmiza
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13
0
Merci
Tant que faire se peut, c'est la boucle tendant vers 0 qui est la plus rapide.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews