Re: Konstanten und Geschwindigkeit
- From: "Andreas Born" <Andreas.Born@xxxxxx>
- Date: Thu, 1 Sep 2005 06:49:42 +0200
Zusatz, da sich das letzte posting irgendwie
verselbständigt hatte:
> Es gibt also Konstanten, die nur scheinbar Konstanten sind und zu
> ihrem Zweck für jede Nutzung "geklont" werden, und Konstanten, die
> direkt in die Codeerzeugung mit einfließen können, was aber nur
> integer-werte sind. Geklont wird auf jeden Fall auch dann, wenn eine
> Funktion eine Referenz (Pointer/Zeiger) erwartet, der Klon wird nach
> dem Funktionsaufruf natürlich verworfen.
Weiß man, daß die Funktionen die mittels Pointer referenzierten
(non-integer-) Variablen/Stings/etc. nicht antasten, kann man natürlich
Zeit einsparen, indem man auf Konstanten verzichtet, denn dann entfällt
das cloning.
> Die letzten zwei Zeilen (*3,*4) sind direkte Konstantenzuweisungen an
> Variablen, hier ist der Wert der Konstante direkt Bestandteil der
> asm-Anweisung, befindet sich also direkt im Code gespeichert. Das
> Einlesen in die CPU-Register erfordert in diesem Fall keinen
> zusätzlichen Speicherzugriff.
amit sind integer-Konstanten also tatsächlich deutlich "schneller" als
entsprechende Variablen.
String und Co. interessiert das jedoch wenig, da diese außerhalb des
code- und Datensegments gespeichert werden (bzw. deren Daten). Es dürfte
daher keinen großen Performanceunterschied machen, ob ein String als
Variable oder Konstante deklariert wird. Für diese Daten sieht das
PE-File-Format (portable executable) eigene Sections vor, so daß die
Daten vermutlich direkt an festgelegten Speicherpositionen abgelegt
sind. Vor jedem Zugriff wird dann aber "geklont" :-)
Viele Grüße,
Andreas
.
- References:
- Konstanten und Geschwindigkeit
- From: Klaus Schäfer
- Re: Konstanten und Geschwindigkeit
- From: Thorsten Doerfler
- Re: Konstanten und Geschwindigkeit
- From: Thorsten Albers
- Re: Konstanten und Geschwindigkeit
- From: Thorsten Doerfler
- Re: Konstanten und Geschwindigkeit
- From: Andreas Born
- Konstanten und Geschwindigkeit
- Prev by Date: Re: Konstanten und Geschwindigkeit
- Next by Date: DataReport mit neuen Daten abgleichen
- Previous by thread: Re: Konstanten und Geschwindigkeit
- Next by thread: DataReport mit neuen Daten abgleichen
- Index(es):
Relevant Pages
|