Delphi-PRAXiS

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:

Ralf Kaiser 20. Jan 2009 16:11

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

Zitat von ken_jones
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:

Da ist wahrscheinlich jede Datei zum Überprüfen erst übers Netzwerk übertragen worden, oder? :wink:

Dein Admin sollte dir dafür zumindest einen Kaffee ausgeben!

(Ich liebe es mein eigener Admin zu sein...)

3_of_8 20. Jan 2009 16:23

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Nach dieser Regel hast du dir damit interessante Chancen zur Arbeitsvermeidung verbaut.

ken_jones 20. Jan 2009 17:18

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
@Alfi001: Ja, gut möglich, das würde den lahmen I/O von 3Kb/sec erklären...
@3_of_8: Der war gut! Hängt jetzt an meiner Wand ;) PS: Hab'n Dr.Who Flipper zuhause :mrgreen:

sakura 20. Jan 2009 22:10

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

Zitat von Alfi001
Dein Admin sollte dir dafür zumindest einen Kaffee ausgeben!

Eher umgedreht. Den Admin stört das ja nicht, dass das so ewig dauert. Aber ken_jones hat es genervt :)

...:cat:...

Ralf Kaiser 21. Jan 2009 06:47

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

Zitat von sakura
Zitat:

Zitat von Alfi001
Dein Admin sollte dir dafür zumindest einen Kaffee ausgeben!

Eher umgedreht. Den Admin stört das ja nicht, dass das so ewig dauert. Aber ken_jones hat es genervt :)

...:cat:...

Nö. Er hat ein Problem gelöst das eigentlich der Admin hätte lösen sollen. Schliess lich hat der Admin diese Anti-Viren Software installiert und nicht richtig konfiguriert.

3_of_8 21. Jan 2009 07:26

Re: Compilierung von 20'000 Zeilen dauert 43 Minuten...
 
Das kommt darauf an, welches Bild du von deinem Admin hast. Ist der Admin ein Verwalter, der seinen Mitarbeitern helfen und die Arbeit erleichtern soll, oder ist er eine Verkörperung des Teufels auf der Erde und regiert in seinem Serverraum wie ein Gott? (Und mache ihn bloß nicht wütend, sonst arbeitest du am nächsten Tag nicht mehr dort, denn er weiß, was für Schmuddelseiten du dir während der Arbeitszeit ansiehst, und wenn du dir keine ansiehst, auch egal, er sorgt dafür, dass du es getan hast)

Ähm, ja, auf jeden Fall sollte es normalerweise letzteres sein, wenn ihr einen richtigen Admin habt... :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 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-2025 by Thomas Breitkreuz