Performance Optimierung Teil II und noch mehr Pizzen

Mittwoch, 01.05.19. Bielefeld.

Heute, am Tag der Arbeit, arbeite ich nicht, daher etwas über gestern.

Mein Kunde lacht entspannt. Ein amüsiertes und wissendes Lachen, in dem ein »der Hakan wieder« sich versteckt. Der Kunde kennt mich. Ich sitze endlich an der finalen Präsentation meiner Pizza-Story (Performance Optimierung). Die nahm unerwartet mehr Zeit in Anspruch als gedacht. Manchmal gleicht das Verbessern eines Programms einem Stich in ein Wespennest.

Ich machte mir sogar über das Wochenende Gedanken darüber. Das ist bei mir so. Ich kann nicht aufhören und sitze solange an einem Problem, bis ich es löse, weil ich weiß, dass ich es lösen kann. Ich machte dem Kunden sogar den Vorschlag, dass ich die Stunden für den unerwarteten Mehraufwand nicht in Rechnung stelle, wenn meine erneute Optimierung kaum Verbesserungen zeigt.

Da lachte mein Kunde wieder. Das klang verlockend.

„Performance Optimierung Teil II und noch mehr Pizzen“ weiterlesen

Performance Optimierung oder Wie man elf Pizzen optimal bestellt

Dienstag, 23.04.19. Gütersloh.

Gekürzte Projektbudgets, gestoppte Projekte. Das Wirtschaftswachstum kommt spürbar ins Stottern. Als externer Berater spürst du das als erstes, denn du sitzt in dem Fahrzeug mit der Vollbremsung. Ein abrupter Vorgang mit überraschender Wucht.

Ich habe ein wenig Glück, ich befinde mich lediglich in einem Leerlauf zwischen zwei Projektphasen. Daher versucht mein Kunde, mich mit Aufgaben zu versorgen. In diesen Phasen werden dann auch mal Dinge in Auftrag gegeben, die sonst leider häufig vernachlässig werden. Die Performance-Optimierung der Software ist eines dieser stiefmütterlich behandelten Kinder (den seltsamer Weise alle Kunden für wichtig erachten), denn der Kunde geht per se davon aus, dass alles, was umgesetzt wird, optimiert wurde und schnell läuft. Diese Annahme ist verständlich, aber falsch.

Egal aus welcher Motivation heraus ich Aufgaben dieser Art bekomme, ich freue mich immer über sie. Optimierung ist eine besondere Herausforderung und gleicht einer Detektivarbeit: Du musst den Übeltäter aufspüren und dazu seine Motivation verstehen. Anschließend gleicht es einem chirurgischen Eingriff, um die Stelle im Coding zu optimieren, ohne dabei Schäden an anderer Stelle anzurichten (Vermeidung von Seiteneffekten).

Ein Übeltäter, ein Detektiv und ein Chirurg – was hat das mit Pizza zu tun? Ganz einfach, ich mag Pizza! Die meisten der Performance-Probleme, die ich analysiert und verbessert habe, kann ich auf ein simples, sich wiederholendes Prinzip zurückführen: auf Datenbankselektionen innerhalb einer Schleife. Und das werde ich anhand einer absurden Pizzabestellung veranschaulichen.

„Performance Optimierung oder Wie man elf Pizzen optimal bestellt“ weiterlesen