Optimierungspotenzial
01/2010, S. 108: Zu dem Artikel "Magischer Mechanismus": Template-Metaprogrammierung in C++ ist immer ein interessantes Thema. Gerade wenn es der Optimierung dienen soll, muss man sich dabei jedoch über die Randbedingungen im Klaren sein – insbesondere wenn hochoptimierende Compiler im Spiel sind.
Stutzig machte mich zunächst Abbildung 7, die meinen bisherigen Erfahrungen widerspricht. Eine einfache Kopierschleife ist bei konstanten Größen und eingeschalteter Optimierung einem »memcpy()«
normalerweise nicht unterlegen – erst recht nicht, wenn letzterer als echter Funktionsaufruf und nicht als Compiler-Makro umgesetzt ist. Ein Test des Beispiels mit G++ 4.4.5 auf x86_64 mit Optimierungsstufe 3 sieht dann ganz anders aus:
$> ./07-container-copy
takes 0.207888 seconds
takes 0.174786 seconds
Beim Beispiel 8 habe ich mir die Mühe gemacht, die drei verschiedenen Varianten in drei unterschiedliche Funktionen einer besonderen Quelltextdatei zu packen, um sie isoliert vergleichen zu können. Und siehe da, alle drei erzeugen bei Optimierungsstufe 3 den identischen Assembler-Code.
Gute Erfahrungen mit Templates als Optimierungsmethode habe ich hingegen bei der Umwandlung von einfachen Laufzeit-Asserts gemacht, beispielsweise der Überprüfung eines »sizeof()«
. Das Programm braucht ja nicht erst zur Laufzeit mit einer Fehlermeldung abzubrechen, wenn der Compiler das Problem schon vorher feststellen kann.
@L:Thomas Dorner, per E-Mail.
Group Shell
02/11, S. 76: Das Tool Group Shell sah genau nach dem Hilfsmittel aus, das ich schon lange gesucht hatte. Die Praxis scheint weniger rosig: Dokumentation schwach, das Noarch-RPM installiert nichts Brauchbares, erst aus dem Source-Paket klappt die Installation.
Bei der Anwendung komme ich nun gar nicht klar: Als Admin etlicher Server habe ich auf den Maschinen keinen direkten Root-Zugang erlaubt. Will ich nach dem Mehrfach-Login auf den Servern aber mit »su -«
oder »sudo«
weitermachen, kann ich das Passwort nur im Klartext eingeben. Übersehe ich da etwas oder bin ich der Einzige, der direkten Root-Zugang für gefährlich hält?
Joachim Schönberg, per E-Mail
02/11, S. 15: Die Spekulation, dass Googles neue Hostingseite Apache-extras.org im Zusammenhang mit dem im Apache-Incubator-Status befindlichen Google-Projekt Wave entstanden sei, ist offenbar unbegründet: Die Apache Foundation hat sich in einem weiteren Blogpost unter https://blogs.apache.org/comdev/entry/why_apache_extras zu der Initiative bekannt.