Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Compilierung von 20'000 Zeilen dauert 43 Minuten... (https://www.delphipraxis.net/127865-compilierung-von-20000-zeilen-dauert-43-minuten.html)

ken_jones 20. Jan 2009 13:29


Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Um die ersten Fragen gleich vorweg mal zu beantworten: Ja, das System hat genug Power:

Intel I7 740
2GB RAM
80GB Free HD (Defragmentiert, RAID 0)
WinXP Pro SP3

Delphi 2006 UND Delphi 2009 haben dasselbe Problem. Es sind mehrere Projekte, die aber eine minimale Grösse aufweisen müssen (min. 15'000 Zeilen Code, inkl. Komponenten).

Das Compilieren oder auch Erzeugen braucht unglaublich lange, wobei folgendes Interessant ist:

Die CPU Last liegt bei Total unter 1%, die HDD's jedoch rattern um ihr Leben! Wenn ich mit dem Process Explorer schnüffle, dann zeigt sich BDS und Norton RTVScan am aktivsten unter den Dateioperationen, aber mit 3Kb/Sec auch nicht der Wahnsinn. Defragmentiert ist die Disk, also warum zum Teufel rattert das BDS solange über die HDDs bis die Compilierung endlich fertig ist?!?

Beissen sich Norton und die BDS? Erfahrungen? (Kann den Norton nicht abschalten, Domänenkontrolliert... )
Gibt es sowas wie eine Zirkuläre Redundanz bei den Packages/Komponenten/Units die das Problem hervorrufen könnten?

Ich weiss nicht weiter, ich brauch nur bei jeder Kompilierung noch mehr Nerven... Hilfe!

Bernhard Geyer 20. Jan 2009 13:31

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Nimm pas, dfm, dcu, ... aus der Liste der zu checkenden Dateiextension bei deinem Virenscanner raus.

ken_jones 20. Jan 2009 13:47

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Danke für die schnelle Antwort! Habs dem Domainadmin weiter gemeldet, er hat mit den Zähnen geknirscht will aber sehen was er tun kann. Ich hab mit Norton eh das Heu nicht auf demselben Haufen...

matashen 20. Jan 2009 13:55

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Ach ein Zentraler Virenscanner...

Bei uns ist der so eingestellt das er Produktivplätze nur in der Mittagspause scant.

Gruß Matthias

Sherlock 20. Jan 2009 14:23

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Probier mal in den Projektoptionen die Compilermeldungen für:
- Unsicherer Typ
- unsicherer Code
- Unsichere Typumwandlung
(in D7 liegen die ganz unten in der Liste) auszuschalten. Das hat bei mir zu einer deutlichen Beschleunigung geführt.

Sherlock

Phoenix 20. Jan 2009 14:26

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Zitat:

Zitat von ken_jones
Danke für die schnelle Antwort! Habs dem Domainadmin weiter gemeldet, er hat mit den Zähnen geknirscht will aber sehen was er tun kann. Ich hab mit Norton eh das Heu nicht auf demselben Haufen...

Nagut, es ist der Job des Admins, die Systeme sauber zu halten.

Aber wenn der Virenscanner halt bei jedem einzelnen Filezugriff erstmal selber liest und prüft, dann bremst das den File I/O hat extrem aus. Und Compilieren ist zu 90% Files lesen, aus dem gelesenen Zeug ein bisschen Tabellen im Speicher herumbugsieren und dann wieder in Dateien schreiben. Halt ein ungeheuer I/O lastiger Vorgang.

Willst Du schneller compilieren gibt es drei Möglichkeiten:
1.) schnellere Platte
2.) RAID nehmen (paralleles Lesen -> schneller)
3.) Daten 1:1 auf Ram-Disk kopieren, dort kompilieren, dann Ergebnis zurückkopieren.

Zum optimieren gehört dann dazu, alles, was File I/O ausbremst, zu minimieren. Virenscanner eingeschlossen.

Bernhard Geyer 20. Jan 2009 14:35

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Zitat:

Zitat von Sherlock
Probier mal in den Projektoptionen die Compilermeldungen für:
- Unsicherer Typ
- unsicherer Code
- Unsichere Typumwandlung
(in D7 liegen die ganz unten in der Liste) auszuschalten. Das hat bei mir zu einer deutlichen Beschleunigung geführt.

Das liegt eher daran das bei zu vielen Warnungen die ListBoxdarstellung ohne Ende bremst :-)

Sherlock 20. Jan 2009 14:38

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Sherlock
Probier mal in den Projektoptionen die Compilermeldungen für:
- Unsicherer Typ
- unsicherer Code
- Unsichere Typumwandlung
(in D7 liegen die ganz unten in der Liste) auszuschalten. Das hat bei mir zu einer deutlichen Beschleunigung geführt.

Das liegt eher daran das bei zu vielen Warnungen die ListBoxdarstellung ohne Ende bremst :-)

Sprich: Bei ausgeschalteter Compilerfortschrittsanzeige würde alles noch einen Ticken schneller gehen?

Sherlock

RWarnecke 20. Jan 2009 14:48

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Zitat:

Zitat von ken_jones
Die CPU Last liegt bei Total unter 1%, die HDD's jedoch rattern um ihr Leben! Wenn ich mit dem Process Explorer schnüffle, dann zeigt sich BDS und Norton RTVScan am aktivsten unter den Dateioperationen, aber mit 3Kb/Sec auch nicht der Wahnsinn. Defragmentiert ist die Disk, also warum zum Teufel rattert das BDS solange über die HDDs bis die Compilierung endlich fertig ist?!?

Klemme den Rechner doch mal vom Netz ab und schalte mal den Dienst vom Virenscanner aus, wenn es dann schneller läuft, dann hast Du Deinen Übeltäter gefunden. Ansonsten würde ich vielleicht noch das Projektverzeichnis bereinigen.

ken_jones 20. Jan 2009 15:47

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
So, nochmals ein herzliches Dankeschön an alle Schreiber in diesem Thema!

Es war tatsächlich der Norton!

Trotz lokalen Admin-Rechten kann ich halt den Virenscanner weder disablen noch beenden, nicht mal über den Taskmanager. Aber nun hat der Domainadmin die dcu, pas und dfm aus den zu prüfenden Dateien ausgeschlossen, und siehe da, Compiletime von 43min auf 8sec geschrumpft!!!

DAS ist Optimierung :cheer:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:51 Uhr.
Seite 1 von 2  1 2      

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