Zum Inhalt springen

Gemessen, wo es ankommt

Zwischen dem Rechner, auf dem Software entsteht, und dem Paket, das beim Kunden läuft, können Dinge verschwinden. Diese Fassung ist die erste, die dort misst, wo sie ankommt, und sie hat dabei sechs Befunde gefunden, die zwanzig Messrunden lang unsichtbar waren.

Von Howzer Team, Produkt ·

Software wird dort entwickelt, wo sie bequem zu entwickeln ist, und sie läuft dort, wo der Kunde sie betreibt. Zwischen beiden Orten liegt ein Paket, und dieses Paket ist der Ort, an dem Dinge verschwinden können. Ab dieser Fassung wird nicht mehr auf dem Entwicklungsrechner gemessen, sondern in dem Stand, der ausgeliefert wird. Das hat sechs Befunde freigelegt, von denen fünf zwanzig Messrunden lang unsichtbar geblieben waren.

Warum zwanzig Runden nichts gefunden haben

Auf dem Entwicklungsrechner liegt alles herum: jede Bibliothek, jede Konfigurationsdatei, jeder Datensatz, auch das, was nie jemand ins Paket geschrieben hat. Der Code findet es und arbeitet. Im gebauten Stand fehlt es, und was dann passiert, hängt davon ab, wie der Code mit dem Fehlen umgeht. Manchmal bricht er ab, und das ist der gute Fall. Manchmal fängt er den Fehler und macht weiter.

Auf dem Entwicklungsrechner
  • Jede Bibliothek liegt vor, auch die nicht mitgelieferte
  • Konfiguration und Ortsdaten sind einfach da
  • Modelle werden einmal geladen und wiederverwendet
  • Alles arbeitet, also sieht alles richtig aus
Im ausgelieferten Stand
  • Eine fehlende Bibliothek liess die Richtliniensuche still auf Zufallswerte fallen
  • Eine Pfadauflösung scheiterte beim Import und riss sechs Engines mit
  • Der erste Aufruf lud einen zweiten vollständigen Modellsatz nach
  • Der Speicher reichte nicht, und der Dienst starb ohne Protokollzeile

Keiner dieser vier Punkte ist ein Denkfehler. Alle vier sind Unterschiede zwischen zwei Umgebungen, und alle vier hätten eine Installation getroffen. Sie sind geschlossen, und der Weg dorthin war nicht klügeres Nachdenken, sondern ein anderer Messort.

Die Suche, die fünf Treffer lieferte und keinen fand

Ein Befund verdient es, ausgeschrieben zu werden. Howzer kann in den eigenen Richtlinien nachschlagen, um einen Antwortentwurf auf die Regeln des Hauses zu stützen. Dafür braucht es eine Bibliothek, die Texte in Zahlen übersetzt, damit Ähnlichkeit rechenbar wird. Diese Bibliothek lag dem Paket nicht bei. Der Code bemerkte das, fing den Fehler ab und ersetzte die Übersetzung durch Zufallszahlen.

Die Suche lieferte danach weiter fünf Treffer, und sie sahen aus wie Treffer. Nur hatten sie mit der Frage nichts zu tun. Das ist der unangenehmste Fall, den eine Funktion haben kann: sie fällt nicht aus, sie antwortet falsch, und nichts an der Antwort verrät es. Zwei Fassungen lang war das so. Seit dieser Fassung ist die Bibliothek im Paket, und auf echten Kundentexten steht die richtige Richtlinie auf Platz eins in 11 von 14 Fällen statt in 3 von 14, gemessen am 21. August.

Schlanker, ohne dass sich ein Urteil bewegt

Die Umgebung, in der die Analysemodelle rechnen, ist eine Generation weiter. Das ist die Art Änderung, bei der man zu Recht misstrauisch wird, denn eine neue Rechenumgebung kann Ergebnisse verschieben, ohne dass jemand es merkt. Deshalb wurde genau das geprüft.

44 %
weniger Speicherbedarf für dieselben sieben Analysemodelle
6 %
mehr Durchsatz, bei gleicher Hardware
0
Analyseurteile haben sich auf drei Referenzstrecken bewegt

Die letzte Zahl ist die wichtigste. Die Modelle sind dieselben wie in der Vorversion, Ziffer für Ziffer, und sie sagen dasselbe. Was sich geändert hat, ist der Platz, den sie brauchen, und die Geschwindigkeit, mit der sie es sagen. Der Antwortentwurf entsteht ausserdem mit einem anderen Sprachmodell, das weniger Grafikspeicher belegt und schneller antwortet.

Was Betreiber prüfen sollten

Diese Fassung braucht drei Handgriffe, und zwei davon sind still: sie melden sich nicht, wenn man sie vergisst.

  • Die Speichergrenze im Chart auf den neuen Wert heben. Der Vorgängerwert reicht unter der neuen Laufzeit nicht, und ein zu kleines Limit führt nicht zu langsamerem Betrieb, sondern zum Abbruch beim Start, ohne Protokollzeile.
  • Den Richtlinienbestand neu einlesen. Ein Bestand aus der Zeit davor trägt entweder keine Vektoren oder zu wenige Abschnitte. Die Systemprüfung meldet diesen Fall nicht, denn ein alter Bestand ist in sich stimmig.
  • Die eigene Konfigurationsdatei durchsehen. Elf Namen sind entfallen, die bis zur Vorversion in jede erzeugte Datei geschrieben wurden und nichts bewirkten. Vier davon hatten einen wirksamen Zwilling unter anderem Namen, wer also mit einem der vier etwas abschalten wollte, hat es nie abgeschaltet.

Was diese Fassung nicht ist

Sie bringt keine neuen Analysemodelle und keine neuen Kataloge. Wer erwartet, dass Howzer nach dem Update anders liest, wird nichts bemerken, und das ist beabsichtigt. Diese Fassung sorgt dafür, dass ankommt, was ohnehin schon funktionierte. Das ist die Sorte Arbeit, die man erst schätzt, wenn man einmal erlebt hat, wie eine Funktion zwei Fassungen lang plausibel danebenlag.