Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9
  Alt 17. Feb 2003, 15:47
Zitat von johannes:
lokale Variablen können in die Prozessor register geladen werden, während globale variablen meist direkt aus dem Ram adrressiert werden
In diesem Fall ist es nicht so. Wenn man die Compiler-Hinweise beachtet, kann man feststellen, dass der Optimierer im Compiler bei der lokal Prozedur alle Berechnungen entfernt hat, da diese nicht benötigt werden.
Zudem ist es beim Zuweisen an globalen Strings ein nicht zu vernachläsigender Mehr-Overhead zu bewerkstelligen. So muss aus bestimmten Gründen der gesamte String erst einmal Kopiert werden bevor er zugewiesen wird. Bei lokelen Variablen bestehen diese Gründe nicht, und es muss nicht kopiert werden.


Zitat:
Und der Zugriff auf den Stack ist dann wohl schneller!
Speicher ist Speicher. Und der ist immer gleich schnell.
  Mit Zitat antworten Zitat