Hallo HaBo,
ich suche nach Büchern die sich mit der Laufzeit-Optimierung von C++-Programmen beschäftigen.
Konkret geht es darum, die Laufzeit eines Programms, das unter Linux mit g++ kompiliert wird, best möglich zu verringern. Mir geht's nicht/weniger um spezielle Algorithmen, sondern um verschiedenste Aspekte, an die man bei "normalen" Programmen eher nicht denkt: zb. das Vermeiden von Rekursionen oder mehrdimensionalen Arrays, Programmstrukturen, Speicherzugriff/Adressierung oder ähnliche Aspekte.
Dh. ich möchte besser verstehen, was der Compiler bzw. der Prozessor aus meinem Code macht und wie ich unnötige Operationen vermeiden kann.
Nachteile einer solchen Vorgehensweise, wie mangelnde Lesbarkeit des Quellcodes, Portierungsprobleme usw. sind mir bewusst und auch relativ egal.
Weiters bin ich prinzipiell auch nicht abgeneigt, Assembler-Code direkt in meinen C++-Quellcode einzubauen. Allerdings erscheint mir das zum derzeitigen Zeitpunkt noch zu früh. Aber falls in diese Richtung jemand Tipps hat, das Programm läuft derzeit auf einem Intel Core i5 und wird auch langfristig gesehen nur auf Intel-Prozessoren zum Einsatz kommen.
Falls jemand ein paar Ansätze hat und interessante Bücher (englisch/deutsch) in diese Richtung kennt, bin ich für alle Hinweise dankbar.
lg
ich suche nach Büchern die sich mit der Laufzeit-Optimierung von C++-Programmen beschäftigen.
Konkret geht es darum, die Laufzeit eines Programms, das unter Linux mit g++ kompiliert wird, best möglich zu verringern. Mir geht's nicht/weniger um spezielle Algorithmen, sondern um verschiedenste Aspekte, an die man bei "normalen" Programmen eher nicht denkt: zb. das Vermeiden von Rekursionen oder mehrdimensionalen Arrays, Programmstrukturen, Speicherzugriff/Adressierung oder ähnliche Aspekte.
Dh. ich möchte besser verstehen, was der Compiler bzw. der Prozessor aus meinem Code macht und wie ich unnötige Operationen vermeiden kann.
Nachteile einer solchen Vorgehensweise, wie mangelnde Lesbarkeit des Quellcodes, Portierungsprobleme usw. sind mir bewusst und auch relativ egal.
Weiters bin ich prinzipiell auch nicht abgeneigt, Assembler-Code direkt in meinen C++-Quellcode einzubauen. Allerdings erscheint mir das zum derzeitigen Zeitpunkt noch zu früh. Aber falls in diese Richtung jemand Tipps hat, das Programm läuft derzeit auf einem Intel Core i5 und wird auch langfristig gesehen nur auf Intel-Prozessoren zum Einsatz kommen.
Falls jemand ein paar Ansätze hat und interessante Bücher (englisch/deutsch) in diese Richtung kennt, bin ich für alle Hinweise dankbar.
lg