![]() |
Property in Variable auslagern
Hallo!
Ist es eigentlich egal ob ich in einem Code immer und immer wieder auf eine Property zugreife, also zB immer wieder textBox1.Text schreibe, anstatt diesen Wert in eine string Variable auszulagern? Die Frage stellt sich in C# und Delphi. ;) Grüße Faux |
Re: Property in Variable auslagern
Du musst dir wohl überlegen, was dir wichtiger ist: Prozessorauslastung oder Speicherauslastung.
Wenn du mehrmals auf eine Property zugreifst, kostet dich das Zeit beim Prozessor, aber du sparst Speicher. Wenn du das ganze in einen String auslagerst, vice versa. Ich denke, dass sich das Auslagern in einen String eher rentieren würde. |
Re: Property in Variable auslagern
nein, es ist nicht egal. TEdit, TMemo etc. kapseln windows komponente. Wenn du Edit.Text abfragst wird intern ein wm_gettext genutzt um einen PChar zurück zu bekommen auf die Caption. Und der PChar wird dann auf einen String kopiert und zurück gegeben. Wenn du also 5 mal "Edit.Text" aufrufst wrid 5 mal der Inhalt des PChar auf einen String kopiert was natürlich performance in Anspruch nimmt. Es gibt natürlich auch properties die einfach auf eine private/protected variable zugreifen, bei sowas ist es egal. Aber meist ist es effektiver wenn das Property einmal abruft und auf eine Variable zuweist.
@3_of_8: Warum wird da speicher gespaart. Beim abrufen des property wird der Rückgabewert auch in den speicher kopiert damit er an andere Funktionen weitergegeben werden etc. Wenn also der Rückgabewert auf eine Variable zugewiesen wird und dann mit der Variablen weitergeabeitet wird verbraucht das nicht wirklich mehr speicher. [edit=Christian Seehase]Beiträge zusammengefasst. Mfg, Christian Seehase[/edit] |
Re: Property in Variable auslagern
Okay, gut zu Wissen. ;)
Danke für die Antwort. Und wie sieht das in C# aus? Ich schätze mal, da wird nicht viel Unterschied sein. Grüße Faux |
Re: Property in Variable auslagern
dies ist so gut wie immer der Fall wenn hinter einem Property eine Funktion ist. Den die Funktion wird somit mehrmals aufgerufen und somit wird auch das innerhalb der Funktion mehrmals aufgerufen
|
Re: Property in Variable auslagern
Zitat:
Ich sollte schlafen gehen... *g* Grüße Faux |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz