b30bb0ed2d2907e3b1eb765424cbdc55222d3c7f
Implementiert persistente JVM-Worker-Pool für 5-10x schnellere Transformationen: VORHER: - 82 Dateien in 60s (12 Worker) = 0.73s/Datei - JVM-Start bei jeder Transformation (~500ms Overhead) - Classpath wird jedes Mal neu geladen NACHHER (erwartet): - 82 Dateien in ~8-12s (12 Worker) = 0.10-0.15s/Datei - JVM läuft persistent (einmalig ~500ms beim Start) - 5-10x schneller! 🚀 Architektur: - SaxonWorkerPool: Verwaltet N lang-laufende JVM-Prozesse - SaxonWorker.java: Java-Daemon der Saxon-Transformationen ausführt - Kommunikation via stdin/stdout (Tab-separated Job-Format) - Automatisches Fallback auf subprocess bei Pool-Fehlern - Graceful Shutdown beim Beenden der Anwendung Neue Dateien: - src/saxon_pool.py: Worker-Pool-Implementierung - Kompiliert SaxonWorker.java zur Laufzeit - Startet N JVM-Prozesse beim Projekt-Öffnen - Thread-safe Job-Verteilung mit Locks - Context Manager für sauberen Shutdown Änderungen: - transform.py: Nutzt Pool wenn verfügbar, Fallback auf subprocess - MainWindow.py: Initialisiert Pool beim Projekt-Öffnen, beendet bei Close - set_saxon_worker_pool() zum globalen Pool-Management Technische Details: - Java-Code als String eingebettet, Runtime-Kompilierung mit javac - stdout für Job-Ergebnisse, stderr für Saxon-Logs - Tab-separated Format: source\txsl\toutput\tparams - Worker antworten mit "OK" oder "ERROR: message" Nächster Test wird zeigen ob 8-12s erreicht werden! 🎯 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The file is empty.