Speicherplatz Für Performance
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

Ein immer wiederkehrender Gedanke im Zusammenhang mit SoftwareOptimierungsTechniken: Man opfert Speicherplatz um ein Plus an Performance zu erzielen. Dies kann Speicherplatz für Code sein: man schreibt mehr Befehle, die aber schneller ausgeführt werden. Meist handelt es sich aber um den Speicherplatz für Tabellen, welche die vorbereiteten Resultate von Berechnungen enthalten.

Typische Beispiele:


Die Idee funktioniert natürlich auch in die andere Richtung. Man opfert Performance - meist in einem Bereich der nicht zeitkritisch ist - und gewinnt dafür Speicherplatz, den man an anderer - zeitkritischer - Stelle besser verwerten kann.

Ein typisches Beispiel dafür ist die Repräsentation von Mengen (typische Anzahl von Elementen 100-100M). Beim Übergang von 'char' zu 'Bit' als Repräsentationsform eines Elements sind statt der normalen Array-Zugriffe Funktionen notwendig. Das kostet vermutlich einen Faktor 3-10 in der Geschwindigkeit, bringt jedoch einen Faktor 8 im Speicheraufwand.

Wobei Einzelbitfelder (in C: bit:1;) beherzt verwendet werden können, denn diese sind kaum performance-schädlich. Besonders nicht auf Mikrokontrollern, die recht schnelle Bit-Instruktionen besitzen.
Mehr Kode und mehr Zeit kosten Bitfelder mit von 1,8,16,32 abweichenden Bit-Anzahlen.--hs


Siehe auch BucketSort.
KategorieOptimierung
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 20. Juni 2001 2:04 (diff))
Suchbegriff: gesucht wird
im Titel
im Text