- blake2b-Hash-Berechnung in zentrale Utility-Funktion extrahiert (src/utils.py) mit chunk-basiertem Hashing für bessere RAM-Effizienz
- _transform_all_xml_files und _transform_all_xml_files_force zu einer Methode mit force-Parameter zusammengeführt
- Project-Lookup-Methoden (getXsl, getJavaVm, etc.) über gemeinsame _lookup()-Hilfsmethode konsolidiert
- Duplizierte XML-Sammel-Methoden entfernt, Set-basierte Duplikatsprüfung eingeführt
- Ungenutzte Imports, Dead Code und wirkungslose Ausdrücke entfernt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Problem:
- Worker-Pools werden nach Transformation beendet (Lazy Loading)
- Metriken waren danach nicht mehr verfügbar
- Metriken-Dialog zeigte "Nicht aktiviert"
Lösung:
- Metriken werden vor Pool-Shutdown mit deepcopy() gespeichert
- MainWindow speichert last_saxon_metrics und last_fop_metrics
- WorkerPoolMetricsDialog zeigt gecachte Metriken an
- Neue Methode: _update_metrics_tab_from_metrics()
Verhalten:
- Metriken bleiben bis zur nächsten Transformation verfügbar
- Dialog zeigt "Letzte Transformation" statt "Aktiviert"
- Ohne Metriken: Hinweis "bitte erst eine Transformation durchführen"
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Neue Metrik-Erfassung für Saxon- und FOP-Worker-Pools:
- Kompilierungszeit der Java-Worker-Klassen
- Worker-Startzeiten (Summe + Durchschnitt pro Worker)
- RAM-Verbrauch vor/nach Transformation (Summe + Durchschnitt)
- Automatische Berechnung der RAM-Zunahme in MB und Prozent
Technische Details:
- Neue WorkerPoolMetrics-Datenklasse in worker_metrics.py
- RAM-Messung via psutil (v7.2.1, neu hinzugefügt)
- Metriken für beide Saxon-Varianten (JAXP + s9api)
- WorkerPoolMetricsDialog mit Tab-basierter UI
- Menüeintrag "Projekt → Worker-Pool-Metriken"
Metriken werden automatisch erfasst:
- Bei Worker-Pool-Initialisierung (Kompilierung + Start)
- Vor erster Transformation (RAM-Baseline)
- Nach allen Transformationen (RAM-Endwert)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>