Warum ist Waldorf 365 so schnell? Teil 1

Stichwörter: GeschwindigkeitZeitschnellLadezeitenLaTeXTypstParallelisierungAuto-SkalierungTextsatz

von Ulrich Großmann 10.11.2025

Mit unserem Motto „Jeden Tag Zeit gespart“ meinen wir auch, dass unsere Nutzer niemals auf lange Rechenprozesse der Software warten sollen. In dieser mehrteiligen Blog-Reihe möchten wir einige unserer Tricks und Techniken vorstellen.

Teil 1: Das Zeugnisdrucken

Unser Ziel

Nichts ist ärgerlicher, als wenn das Zeugnisdrucken ewig dauert. Denn es lässt sich nicht ganz vermeiden, dass es am Ende knapp wird und eine gnadenlose Deadline eingehalten werden muss: der letzte Schultag vor den Ferien. Nun könnte man meinen, dass es kein Problem ist, wenn das Zeugnisdrucken mal 5 Minuten pro Klasse dauert. Aber das Problem ist, dass man manche Klassensätze mehrmals erzeugen muss. Man erstellt die PDF-Datei, schaut sie sich an, entdeckt einen Fehler, korrigiert den Fehler und druckt den Klassensatz erneut. Und das Ganze wiederholt sich dann vielleicht noch ein paar Mal. In diesem Fall ist es wirklich ärgerlich, auch beim zweiten oder dritten Mal wieder 5 Minuten warten zu müssen.

Unser Ziel: Ein Klassensatz sollte in unter 30 Sekunden erledigt sein.

Unser Problem

Unser Problem bestand darin, dass wir auf eine relativ alte Technik setzen: LaTeX. LaTeX ist ein Textsatzsystem, das vor über 30 Jahren entwickelt wurde und sich seitdem kaum verändert hat. Es ist extrem mächtig und flexibel, aber leider auch sehr langsam. Wir können darauf keinen Einfluss nehmen. Wir haben uns aus zwei Gründen für LaTeX entschieden:

  1. LaTeX erzeugt wunderschöne Dokumente, die professionell aussehen und ein gestochen scharfes Druckbild ergeben.
  2. LaTeX ist extrem vielseitig und wir können damit beliebige Layouts erstellen, die keine Wünsche übrig lassen.
LaTeX ist also die beste Wahl für uns, wenn es um die Qualität der Zeugnisse geht. Aber es ist eben auch langsam.

LaTeX berechnet die Position für jedes einzelne Zeichen auf jeder Zeugnisseite. Es sorgt in horizontaler Richtung dafür, dass die Abstände zwischen den einzelnen Buchstaben genau so groß sind, dass jede Zeile rechtsbündig abschließt. Dabei entscheidet es automatisch, ob ein Wort am Zeilenende getrennt wird, und wendet korrekte deutsche Silbentrennung an. LaTeX beachtet aber auch die vertikale Richtung und sorgt dafür, dass die Seiten alle möglichst gleichmäßig gefüllt sind, auch wenn alle Fächer unterschiedlich lange Zeugnistexte haben. In beiden Richtungen führt LaTeX also komplexe Berechnungen durch, um ein perfektes Ergebnis zu erzielen. Dies dauert zwischen 5 und 10 Sekunden pro Schülerzeugnis.

Das Problem dabei ist, dass während dieser Berechnung noch nicht feststeht, wie viele Seiten das Zeugnis am Ende haben wird. LaTeX muss deshalb den Prozess noch ein zweites Mal durchlaufen, um dann Seitenzahlen korrekt einzufügen und zu ermitteln, welche Seiten auf das Deckblatt gedruckt werden müssen oder ob Leerseiten eingefügt werden müssen, um am Ende eine gerade Seitenzahl zu erhalten. Somit benötigt man mit LaTeX pro Schülerzeugnis zwischen 10 und 20 Sekunden Rechenzeit.

Bei einer Klasse mit 30 Schülern hatten wir also zunächst zwischen 5 und 10 Minuten Rechenzeit.

Unsere Lösung

In der modernen Computertechnologie gibt es für dieses Problem mittlerweile zwei Lösungskomponenten, die uns hier zur Hilfe kamen: Parallelisierung und Auto-Skalierung.

Bevor wir uns diese beiden Techniken näher ansehen, möchte ich zuerst auf eine Lösung eingehen, an die Sie jetzt vielleicht denken, die aber nicht funktioniert: einen schnellerer Computer für die Zeugnisberechnung zu verwenden. Es hat sich gezeigt, dass die Rechenleistung von Computern heutzutage ungefähr bei einer Geschwindigkeit von 3–4 GHz stagniert. Könnte man einen doppelt so schnellen Computer verwenden, dann würde das die Rechenzeit für die Zeugnisberechnung halbieren. Aber leider sind Computer mit 6–8 GHz Rechenleistung nicht verfügbar. Außerdem wäre solche Hardware sehr teuer.

Statt auf Geschwindigkeit zu setzen, setzt man deshalb heutzutage auf Masse. Man verwendet für 30 Zeugnisse einfach 30 Computer gleichzeitig, die jeweils ein Zeugnis berechnen. Dann dauert die Berechnung insgesamt nur so lange wie das langsamste Zeugnis, also etwa 10–20 Sekunden. Man führt die Berechnung der 30 Zeugnisse also parallel aus (Parallelisierung).

Das Problem dabei ist, dass es sehr teuer ist, 30 Computer vorzuhalten, die nur dann genutzt werden, wenn Zeugnisse gedruckt werden müssen (also vielleicht 2–3 Mal im Jahr) und dann auch nur wenige Sekunden pro Klassensatz. Zudem könnte es sein, dass mehrere Schulen gleichzeitig Zeugnisse drucken möchten. Man muss deshalb eigentlich mehr als 30 Computer vorhalten, um Lastspitzen abzufangen.

Hier kam uns ein zweites modernes Konzept zu Hilfe: Auto-Skalierung. Anstatt 30 Computer vorzuhalten, die nur selten genutzt werden, mieten wir seit Januar 2025 eine hochmoderne virtuelle Cloud. Unser Programm zum Berechnen der Zeugnisse ist dabei auf einem Computer installiert, der mit hunderten anderen Computern verknüpft ist. Jeder der unzähligen Computer kann ein Zeugnis in 10–20 Sekunden berechnen.

Wenn nun Anfragen an das Zeugnis-Rechenprogramm gestellt werden, verteilt dieses die Rechnungen innerhalb des Rechenzentrums an beliebig viele Computer, die in diesem Moment automatisch hinzugebucht werden. Die Anzahl der Rechner, die für die Berechnung der Zeugnisse genutzt werden, vergrößert sich also automatisch je nach Bedarf (Auto-Skalierung).

Dadurch wird die Rechnung nicht langsamer, wenn größere Klassensätze angefragt werden, oder mehrere Schulen gleichzeitig Zeugnisse drucken möchten. Die Rechenzeit bleibt immer bei etwa 10–20 Sekunden pro Klassensatz, egal, wie viele Zeugnisse gerade berechnet werden.

Wir finden, dass Waldorflehrer, die unter Zeitdruck in der Selbstverwaltung komplizierte Zeugnisdokumente erstellen müssen, die modernste Technik verdienen, die es gibt. Wir sind stolz darauf, dass wir diese Technik unseren Kunden zur Verfügung stellen können und dass wir einen ausgezeichneten mittelständischen deutschen Cloud-Anbieter mit perfektem Service gefunden haben und nicht auf große amerikanische Software-Giganten angewiesen sind.

Ausblick

Kann man mit etwa 15 Sekunden pro Klassensatz zufrieden sein? In der Praxis ist das schon sehr gut. Aber wir wären nicht Waldorf 365, wenn wir nicht weiter nach Verbesserungen suchen würden. Die einzige Möglichkeit, die Rechenzeit weiter zu verkürzen, besteht darin, einen Ersatz für LaTeX zu finden, der schneller arbeitet. Dies haben wir bereits getan. Mittlerweile wurde mit Typst ein moderner Textsatzprozessor entwickelt, der deutlich schneller arbeitet als LaTeX. Wir drucken schon jetzt die Stundenpläne mit Typst mit einer Rechenzeit von unter 2 Sekunden. In dieser Größenordnung sollte auch die Rechenzeit für einen Klassensatz liegen, wenn es uns gelingt, auf Typst umzusteigen. Typst ist aber noch sehr jung und hat noch nicht die Reife von LaTeX erreicht. Wir müssen noch etwas Geduld haben, bis Typst alle Funktionen bietet, die für das Zeugnisdrucken benötigt werden.