Archiv verlassen und diese Seite im Standarddesign anzeigen : Lohnt es sich noch für Programme auf modernen Computern short Datentypen zu benutzen?
Oder macht das aufgrund des üppigen Speicherplatzes keinen Sinn mehr, so
daß man besser gleich int bei C++ Programmen verwendet?
Insbesondere in dem Bezug darauf, daß man es dann als programmierer einfacher bei der Handhabung hat und auf weniger achten muß, wenn man noch andere Daten hat, die alle als int vorliegen und mit welchen vielleicht noch zusammen gerechnet wird.
Nur wenn durch die Halbierung der Größe ein schnellerer Speicher für die Daten ausreicht lohnt es sich. Cacheline, L1-Cache, L2-Cache, Hauptspeicher wären die relevanten Größen.
Wenn das nicht gegeben ist lohnt es sich nur wenn man SSE benutzt.
nicht Threadstarter-Gast
2007-10-04, 08:09:46
Wie kann man das denn rausfinden?
nicht Threadstarter-Gast
2007-10-04, 08:10:30
Wie kann man das denn rausfinden? Also das ein schnellerer Speicher wohl verwendet werden wird/kann.
Wie kann man das denn rausfinden?
Bevor man das Programm schreibt mit Werte nachschlagen und nachrechnen, wenn man das Programm schon hat durch Ausprobieren mit Profiler oder Stoppuhr.
Achso, lohnen kann sich das sowieso nur wenn die Daten in performancekritischem Code benutzt werden oder so groß sind, dass Swapping möglich ist.
rotalever
2007-10-04, 14:06:09
Also ich konnte mal durch ein Austauschen von int zu unsigned char einen deutlichen Performancegewinn in einer zeitkritischen Anwerndung erziehlen. Ich glaube das war so ein Faktor 2-3, auf jeden Fall sehr deutlich. Vermutlich weil die Daten dann in meinen L2 gepasst haben.
micki
2007-10-04, 14:09:03
manche berechnungen sind auf short schneller als auf z.b. int oder int64. haengt auch von der cpu ab.
wenn man etwas programmiert und ein datentyp eine gesonderte bedeutung hat z.b. weil es ein farbpixel oder ein z-buffer pixel (zexel) ist, sollte man sich einen typedef von anfang an dafuer machen und im weiteren code so programmieren dass der datentyp austauschbar ist. denn am sichersten weiss man welcher typ in einem anwendungsfall der beste ist indem man es ausprobiert.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.