S
ZuK schrieb:
doppelmuffe schrieb:
es sieht so aus, als würde bei der langsamen version Settings::instance() immer wieder aufgerufen. die liefert dann nen struct oder ne klasse zurück. und das mehrmals. und beim schnellen wird die funktion nur ein mal aufgerufen und die ergebnisse zwischengespeichert.
oder auch gar nicht weil die werte schon zur compiletime bekannt sind.
K.
Doppelmuffe hat schon recht, die Werte sind ja noch nicht bekannt, und wenn ich eins aus diesem Thread gelernt habe, dann, dass die Werte noch nicht bekannt sind
Aber:
1. : Die Funktion ist inline, und selbst der dümmste Compiler sollte sie inline machen, denn es ist nur ein return eines statischen Objektes.
2. : Die Funktion wird im Zusammenhang mit WIDTH und HEIGHT bei der langsameren Version 10 mal aufgerufen und bei der schnellen 2 mal. Rechtfertigt das einen 100fachen Geschwindigkeitsunterschied?
3. : Die Funktion wird sowieso noch knapp 20 mal aufgerufen. Ein Geschwindigkeitsunterschied der schnellen Version mit diesen Aufrufen zu früher, wo alles compiletimebekannte Konstanten waren, ist aber nicht / kaum zu spüren.
4. : Sind WIDTH und HEIGHT identisch, ist wie gesagt der Speed auch in der langsamen Version wieder da.
Also, doch nicht getroffen