Bibliotheken, die sich schlecht benehmen

Michael Simms hat einen interessanten Post zum Thema „Handling misbehaving libraries in binary products“ veröffentlicht. Hierin geht es hauptsächlich um die Schwierigkeiten, die auftreten, wenn man ein binäres Produkt auf einer Plattform wie Linux veröffentlicht, die sich in den vorhandenen Bibliotheken zum Teil deutlich vom Erwarteten unterscheidet.

Der Post bezieht sich hauptsächlich auf Probleme mit den Soundbibliotheken, die zum Teil das Programm zum Absturz bringen können. Michael stellt einen Workaround für Entwickler vor, mit dem sich der Crash zumindest abfangen und eine andere Lösung finden lässt.

Dem Anwender bringt das erstmal leider gar nichts, zumindest für die LGP-Produkte wird es aber sicher Updates geben.

Leider sagt Michael auch nichts zu dem Problem, dass der Sound einfach korrupt ist, ohne Abstürze oder ähnliches zur Folge zu haben. Ich fürchte, hier kann man einfach nur auf die Weiterentwicklung der Bibliotheken hoffen.

Optimierungstechniken, die man nicht mehr nutzen sollte

David Chisnall schrieb vor ein paar Tagen einen Artikel auf InformIT, warum gewisse, oft empfohlenen Optimierungstechniken auf modernen Architekturen nicht mehr funktionieren und zum Teil sogar schädlich sind.

Im einzelnen geht es im detaillierten Artikel um die Techniken:

  1. Multiplikation durch Shift und Add
  2. Globale Argumente
  3. Vermeidung von Rekursion
  4. Inlining etc
  5. Optimierung von seltenen Fällen
  6. (für Java und ähnliches) Optimierung auf Bugs in der VM