![]() |
D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Im Forum habe ich keine Posts gefunden, die das Problem so richtig treffen.
Ich habe Delphi 12 in einer VMWare-Session installiert, die auf einer SSD läuft, Prozessor Intel(R) Core(TM) i7-9700K CPU 3.60GHz, Speicher in VMWare-Instanz 6 GB. Worum es geht, steht eh im Titel. Das Seltsame dabei ist, dass nahezu die gesamte Wartezeit für etwas Geheimnisvolles VOR dem Kompilieren draufzugehen scheint. Man kann das schön im Taskmanager verfolgen: Da tut sich nur zu Beginn zwei Sekunden was bei der CPU, dann ist Stille, bis ganz am Schluss die paar Codezeilen durchrauschen, wo sie noch einmal minimal ackert. Der Speicher stehet durchgehend gleichmäßig auf etwa 45% Nutzung. Edit: Wenn ich übrigens keine Änderung habe, dann startet das Programm nach einer Sekunde. WTF macht der Mistkerl da Geheimes ...? |
AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Hier dauert das compilieren von gut 1 Mio. Zeilen in 740 Units auf einem ähnlichen System ca. 10 Sekunden.
|
AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Hast du dein vmWare richtig eingerichtet?
Ich habe fast das gleiche System, nur mit dem i7-8700K Prozessor. Aber meine VM hat 32 GB und 8 Kerne (logische Prozessoren). Falls du nur 1 Kern zugeornet hast, könnte das der Grund sein. Aber auch bei mir geht alles rasend schnell. |
AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Liste der Anhänge anzeigen (Anzahl: 1)
|
AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
@Uwe Das Compilieren mit einer/keiner geänderten Unit, oder wirklich ein kompletter Build? :roll:
In der Ereignisanzeige vom Windows ist nicht zu sehn, dass irgendwas massig Meldungen/Fehlermeldungen raushaut? Nja, erstmal der Taskmanager und der Ressourcenmonitor
Delphi-Quellcode:
könnten einen Blick wert sein, um grob zu sehn, ob man irgendwas bremsendes sieht.
%windir%\system32\perfmon.exe /res
Es gibt ja nicht nur die CPU, sondern auch RAM und den Datenträger. Beim RAM vor allem die Ein-/Auslagerung (PageFaults bei den Details im Taskmanager) Beim Datenträger nicht nur die reine Menge der Daten, sondern auch die Anzahl/GrößeKleine der I/Os. Und da es eine VM ist, das Ganze auch nochmal auf Seiten des Hosts. Für mehr dann noch der bekannte Prozessmonitor
Delphi-Quellcode:
(wobei man hier mehr nur erkennt, ob z.B. zu viele "fehlerhafte" Zugriffe bremsen)
https://learn.microsoft.com/de-de/sysinternals/downloads/procmon
oder sogar das Log des Windows selbst (ihr wollt nicht wissen, was es alles loggt, aber zum Glück normal nicht alles auswertet/speichert) Also bissl ausführlicher über den Windows Performance Recorder
Delphi-Quellcode:
bzw.
C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\wpr.exe
Delphi-Quellcode:
und Viewer/Analyzer
wprui.exe
Delphi-Quellcode:
wpa.exe
Falls es nicht teilweise durch Delphi bereits installiert ist -> bestimmt im ![]() Das Verzeichnis ist knapp 180 MB winzig, ohne Redistributables, legacy und gpuview, und kann einzeln kopiert werden. (k.A. wozu, da das WMI/WindowsHighPerformanceLog im Windows schon seit ewig installiert ist und ich es mit einer nichtmal 1MB-Delphi-App auch ansprechen kann) Falls du selbst damit nicht klar kommst, dann das WPRUI starten, mehr Optionen und bei Recource-Analysis noch bissl was aktivieren Scenario auf General lassen Mode in Memory oder besser File (Einiges kann eh nur Live oder in eine Datei geloggt werden) und starten Speichern und das Log jemandem zur Analyse geben. Beachte, dass diese Logs sehr groß werden können. (alles genannte angehakt, auch schonmal über 1 GB die Minute, da ohne Filter) ACHTUNG: nach dem Start unbedingt Speichern+Stoppen oder Stoppen (Cancel) und nicht einfach das Programm schließen. An viele Logs kann sich nur ein Recorder anhängen und wenn das im Hintergrund weiterläuft *, war's das. (Du kannst dann nur hoffen dass kein Autostart für den Logger angegeben wurde somit ein Neustart des Windows hilft) *) Dieses LogTool ist kein LiveLogger, sondern sagt Windows nur was wohin geloggt werden soll. Wir haben auch grade bei zwei Kunden mit je einem Rechner ein Problem, dass dort unser Programm langsam läuft. Bei einem ist es ein defekter Festplattenkontroller (laut Logs in der Ereignisanzeige) und der Andere ... weiß noch nicht. |
AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Zitat:
|
AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Ja, Kreuzbeziehungen bremsen aus. Aber bei 10 Zeilen Code? ;-)
|
AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Zitat:
|
AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Zitat:
Der Virenscanner könnte auch mitspielen. |
AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Oder sind vielleicht irgendwelche Addons aktiv wie Eurekalog, die sich in den Buildprozess einklinken? Oder Buildevents? Das sieht man dann oft im Ausgabefenster.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz