Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Kompilieren dauert IMMER lange

  Alt 12. Jun 2017, 09:36
Ich glaub kaum, das es viele Compiler/Linker gibt, welche wirklich multithreaded arbeiten.

Die fangen in der Projektdatei an und arbeiten sich dann nach und nach durch das Projekt durch.
Delphi als Single-Pass Compiler (One-Pass) nur einmal von Vorne bis hinten. (Compiler/Optimierer > Linker)
Und C als Multi-Pass Compiler läuft Mehrmals drüber (1-2 Mal über den Code und dann noch paar Mal über das letzte Ergebnis des Compilers/Optimiers)

Aus jemen Grund kann man in C teilweise schon auf Dinge zugreifen, welche erst später kommen, während man in Delphi nur auf vorherrige Deklarationen Zugriff hat.

Aber letztendlich wird dennoch alles nacheinander gemacht, da jeder Prozess das vorhergehende Ergebnis braucht ....... Allerdings könnte (vorallem beim Pascal) jeder Schritt schon parallel (leicht versetzt) ablaufen, da die bereits fertig bearbeiteten Teile meistens nicht nochmal verarbeitet/verändert werden und somit feststehen.



Tipp: Kompiliere eine größeres Projekt und du wirst erkennen, dass praktisch nur ein Kern verwendet wird.
Im FinalBuilder nutzen wir das aus, indem mehrere nicht untereinander abhängige Projekte (EXE/DLL/BPL) gleichzeitig kompiliert werden. Passend zur CPU-Größe und bei langsamen HDDs nicht zu viele, da die Festplattenzugriffe sich gegenseitig extrem ausbremsen.
$2B or not $2B

Geändert von himitsu (12. Jun 2017 um 09:41 Uhr)
  Mit Zitat antworten Zitat