Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#6

Re: Performance von FindComponent

  Alt 25. Jun 2004, 14:27
Der Cast-Operator bedeuted für den Rechner den wenigsten aufwandt da der Compiler nur diese Interne Zahl anders interpretiert.

FindComponent ist das langsamste was ich kenne, dies merkt man wenn es in größeren Schleifen benutzt wird.

Grund: Eine Schleife über alle Elemente. (20 Steuerelmente + sage wird 20 mal suchen sind 400 Stringvergleiche)

Ein String vergleich ist, da ein Rechner nur zahlen versteht, ebenfalls eine Schleife. (ca 15 Zeichen pro Name sind 6000 cmp).

Cmp ist der Maschinen-Befehl zum vergleichen zweier Zahlen, welches durch eine Subtraktion gemacht wird.

Addiert man die Taktzyklen der andere langwierigen Stack-Operationen, Call, Jmp-Befehler, wird man schon auf ein paar ms kommen.



Und stellen wir gegenüber eine direkte Adressierung, über eine Variable, die meinetwegen vorher mittels FindComponent gesetzt wurde.
Wird man erschrecken. Ein Maschinen-Befehl (ergo 20)!

Oben sind es schätzungsweise 10000 (nicht nachgrechnet).
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat