2009-07-08 5 views
0

Imaginons et parlons simplement de performance. Comme j'ai lu l'article dans about.delphi.com appelé programmation de performance, il y avait des paragraphes intéressants affirmant que l'instruction Case (en fait je préfère l'appeler comme structure) est plus rapide que If; Car est plus rapide que While et Repeat, mais While est l'opérateur de boucle le plus lent. Je comprends probablement pourquoi While est le plus lent, mais ... et les autres.Delphi et codage de performance. Déclaration Performances et résultats de longueur de code

Avez-vous testé/joué/expérimenté ou même obtenu de véritables améliorations de performance si vous les modifiez, par exemple, toutes les instructions IF aux cas où cela est possible?

Je voudrais également parler des comportements d'instructions other-modified-loop et if dans Delphi IDE, mais ce serait une autre question.

Allons-nous commencer, mesdames et messieurs?

+0

Merci Lieven pour la notification et la correction d'erreur! –

+0

Veuillez fournir un lien pour l'article que vous mentionnez. Je ne trouve rien là nommé "programmation de performance". –

Répondre

3

Il est très rare que le type de structure de contrôle/construction de boucle soit important. Vous ne pouvez pas obtenir une augmentation de performance raisonnable si vous changez, disons, For en boucle à While en boucle. Au contraire, les algorithmes ont de l'importance.

2

Je doute pour sera plus lent en pratique que tandis que.

AFAIK, pour évalue la condition une fois en tout (sans jeu de mots) évalue la condition à chaque fois. Considérez les instructions suivantes

for i = 0 to GettingAmountOfUsersIsTakingALotOfTime do 
begin 
    ... 
end; 

i := 0; 
while i <= GettingAmountOfUsersIsTakingALotOfTime do 
begin 
    ... 
    Inc(I); 
end; 

L'instruction while sera l'amplitude de fois plus lente que l'instruction if.

+0

oui, vous avez absolument raison. J'ai mal écrit - je pensais la même chose, mais d'une manière ou d'une autre j'ai écrit différemment;) Quoi qu'il en soit - merci pour le conseil et l'illustration - j'espère que cela aidera les débutants dans la programmation Delphi;) –

Questions connexes