Registriert seit: 23. Jan 2008
3.685 Beiträge
Delphi 2007 Enterprise
|
AW: Statisches array of Single (glFloat) - Exception
29. Nov 2011, 11:31
Der Zugriff auf dynamische und statische Arrays dürfte prinzipiell gleich schnell sein. Ich kann mir vorstellen, dass die Aussage auf Basis eines Apfel-Birnen-Vergleichs gemacht wurde, da ggf. ein statisches Array auf dem Stack eine Spur flotter sein könnte, aber vergleicht man beide auf dem Heap, sollte es mich schon wundern, wenn es da messbare Unterschiede gäbe. (Ich zweifel sogar gerade daran, dass es auf dem Stack auch einen machen würde, kanns aber grad nicht testen.)
Das einzige, was bei dynamischen Arrays Kosten macht, ist das Initialisieren und vor allem das nachträgliche, häufige Ändern der Größe.
Deine Frage "Hm das heißt wenn ich das Array als privates Feld meiner Klasse, in der ich es benutze, deklariere (gekapselt werden muss es nicht, brauch es nur innerhalb der Klasse), dann wird es ebenfalls auf dem Heap abgelegt und ich brauch mich quasi um nichts mehr zu kümmern?" wäre mit ja zu beantworten. In gleicher Weise wäre auch ein dynamisches Array "hübscher" als Klassenfeld, zumindest wenn es in mehr als dieser einen Methode, und nicht nur temporär benutzt wird.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
|