AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??
Thema durchsuchen
Ansicht
Themen-Optionen

D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

Ein Thema von jik · begonnen am 20. Jan 2024 · letzter Beitrag vom 22. Jan 2024
Antwort Antwort
Seite 1 von 2  1 2      
jik

Registriert seit: 17. Feb 2015
Ort: Klagenfurt
50 Beiträge
 
Delphi 12 Athens
 
#1

D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 11:18
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 ...?
Martin Danesch

Geändert von jik (20. Jan 2024 um 11:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.015 Beiträge
 
Delphi 12 Athens
 
#2

AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 11:53
Hier dauert das compilieren von gut 1 Mio. Zeilen in 740 Units auf einem ähnlichen System ca. 10 Sekunden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 15. Dez 2005
Ort: NRW
212 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 12:32
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.
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!

Geändert von t2000 (20. Jan 2024 um 12:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 15. Dez 2005
Ort: NRW
212 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 12:38
Miniaturansicht angehängter Grafiken
screenshot-2024-01-20-133657.png  
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#5

AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 13:04
@Uwe Das Compilieren mit einer/keiner geänderten Unit, oder wirklich ein kompletter Build?



In der Ereignisanzeige vom Windows ist nicht zu sehn, dass irgendwas massig Meldungen/Fehlermeldungen raushaut?


Nja, erstmal der Taskmanager und der Ressourcenmonitor %windir%\system32\perfmon.exe /res könnten einen Blick wert sein, um grob zu sehn, ob man irgendwas bremsendes sieht.
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 https://learn.microsoft.com/de-de/sysinternals/downloads/procmon (wobei man hier mehr nur erkennt, ob z.B. zu viele "fehlerhafte" Zugriffe bremsen)
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 C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\wpr.exe bzw. wprui.exe und Viewer/Analyzer wpa.exe
Falls es nicht teilweise durch Delphi bereits installiert ist -> bestimmt im https://developer.microsoft.com/en-u...s/windows-sdk/
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Jan 2024 um 13:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 20:27
@Uwe Das Compilieren mit einer/keiner geänderten Unit, oder wirklich ein kompletter Build?
Für 1 Million Zeilen sind 10 Sekunden doch absolut realistisch, vorausgesetzt es gibt keine Kreuzbeziehungen zwischen Units. Wenn das Kompilieren lange dauert, sind Kreuzbeziehungen die häufigste Ursache. Diese verlangsamen das Kompilieren exponentiell.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.825 Beiträge
 
Delphi 12 Athens
 
#7

AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 21:33
Ja, Kreuzbeziehungen bremsen aus. Aber bei 10 Zeilen Code?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 22:06
Ja, Kreuzbeziehungen bremsen aus. Aber bei 10 Zeilen Code?
Ich meinte das rein auf Uwes Angabe und himitsus Nachfrage bezogen, nicht in Bezug auf die ursprüngliche Frage.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.015 Beiträge
 
Delphi 12 Athens
 
#9

AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 22:48
@Uwe Das Compilieren mit einer/keiner geänderten Unit, oder wirklich ein kompletter Build?
Komplettes Build - aber eben auch keine zyklischen Abhängigkeiten (obwohl das in dem beschriebenen Fall nicht die Ursache sein dürfte).

Der Virenscanner könnte auch mitspielen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: D12 - 1' 20" Kompilierzeit für 10 Zeilen Code und 5 Komponenten??

  Alt 20. Jan 2024, 22:56
Oder sind vielleicht irgendwelche Addons aktiv wie Eurekalog, die sich in den Buildprozess einklinken? Oder Buildevents? Das sieht man dann oft im Ausgabefenster.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz