Episode
Schnelles Schreiben von Schnellcode in C++
durch Andrei Alexandrescu
Moderne Computerarchitekturen ermöglichen es langsamem Code, vernünftig zu arbeiten. Sie machen es auch schwierig, wirklich schnellen Code zu schreiben, der die CPU-Annehmlichkeiten am besten ausnutzt. Und das intelligente Geld ist auf schnellem Code – wir laufen aus coolen Dingen, die mit langsamem Code zu tun sind, und der Kampf wird auf wirklich interessanten und herausfordernden Dingen auf dem Umschlag des Computing Fabric ertragen.
Wie kann man also schnell Code schreiben? Stellt sich heraus, dass es ziemlich schwierig ist, da die komplexen Architekturen der heutigen komplexen Architekturen einfache Regeln zurückstellen, die überall angewendet werden. Es ist nicht ungewöhnlich, dass unauffällige Artefakte auf hoher Ebene überraschend hohe Auswirkungen auf die Untergrenze der Laufzeit einer Anwendung (und verbrauchte Energie) haben.
Dieser Vortrag ist ein Versuch, ein paar taktische Ratschläge zum Schreiben von Schnellcode in C++ festzulegen. Die Anwendung ist nicht garantiert, um optimalen Code zu erzeugen, aber wahrscheinlich ist es vernünftigerweise im Ballpark.
Diese Tipps basieren auf praktischen Erfahrungen, aber auch motiviert durch die inneren Arbeiten moderner CPUs.
Moderne Computerarchitekturen ermöglichen es langsamem Code, vernünftig zu arbeiten. Sie machen es auch schwierig, wirklich schnellen Code zu schreiben, der die CPU-Annehmlichkeiten am besten ausnutzt. Und das intelligente Geld ist auf schnellem Code – wir laufen aus coolen Dingen, die mit langsamem Code zu tun sind, und der Kampf wird auf wirklich interessanten und herausfordernden Dingen auf dem Umschlag des Computing Fabric ertragen.
Wie kann man also schnell Code schreiben? Stellt sich heraus, dass es ziemlich schwierig ist, da die komplexen Architekturen der heutigen komplexen Architekturen einfache Regeln zurückstellen, die überall angewendet werden. Es ist nicht ungewöhnlich, dass unauffällige Artefakte auf hoher Ebene überraschend hohe Auswirkungen auf die Untergrenze der Laufzeit einer Anwendung (und verbrauchte Energie) haben.
Dieser Vortrag ist ein Versuch, ein paar taktische Ratschläge zum Schreiben von Schnellcode in C++ festzulegen. Die Anwendung ist nicht garantiert, um optimalen Code zu erzeugen, aber wahrscheinlich ist es vernünftigerweise im Ballpark.
Diese Tipps basieren auf praktischen Erfahrungen, aber auch motiviert durch die inneren Arbeiten moderner CPUs.