Phase 1 nähert sich dem Ende und ich hab heute einen Performance-Test gemacht der mich selbst überrascht hat.
Der Test
1000 komplette Spiele simulieren. 90 Minuten pro Spiel, volle Berechnung mit Energie, Tagesform, Chancen, Toren und allem drum und dran. Kein Rendering, nur Core-Logik.
Ergebnis: 2.7 Sekunden.
Das sind weniger als 3 Millisekunden pro Spiel. Oder anders gesagt: Eine komplette Saison (306 Spiele) dauert unter einer Sekunde. Das ist schnell genug für Instant-Simulation wenn der Spieler nicht zuschauen will.
Warum so schnell?
Drei Gründe:
- Keine Allokationen in der Inner Loop: Während der Spielsimulation werden keine neuen Objekte erstellt. Alles vorallokiert.
- .NET 10 JIT: Der JIT-Compiler optimiert den heissen Pfad aggressiv. C# ist nicht C++, aber nah genug dran.
- SQLite nur am Anfang und Ende: Während der Simulation kein DB-Zugriff. Alles im Speicher.
Performance war von Anfang an ein Ziel. Wenn eine Saison zehn Sekunden dauert, wird das Spiel sich träge anfühlen. Unter einer Sekunde? Das ist flüssig.