AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Ide instabil mit hohem Speicherverbrauch
Thema durchsuchen
Ansicht
Themen-Optionen

Ide instabil mit hohem Speicherverbrauch

Ein Thema von NicoM · begonnen am 18. Mai 2018 · letzter Beitrag vom 24. Mai 2018
Antwort Antwort
Seite 1 von 2  1 2      
NicoM

Registriert seit: 18. Mai 2018
4 Beiträge
 
#1

Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 09:25
Hallo,

ich habe eine Frage betreffend der Delphi-Ide. Wir benutzen hier aktuell die Version 10.1 (Berlin) und schon übergangsweise die Version 10.2 (Tokyo). Wir haben mehrere Projekte u.a. mit jeweils bis zu ~4,1 Millionen Codezeilen. Ein Teil der Codezeilen kommt von externen Quellen die direkt als .pas referenziert werden.

Leider wird die Ide sehr schnell instabil. Nachdem ersten Bauen des Projektes was ca. 2 Minuten dauern kann, belegt die Ide 2.5Gb an Speicher, welcher beim nächsten Bauen scheinbar nicht komplett freigegeben wird. So hat man dann bereits 3.2GB belegt und die Bauzeit wird immer langsamer, teils mehr als 6 Minuten. Ein drittes mal Bauen klappt bei den meisten nicht mehr, da die Ide abstürzt oder einfriert.
Ein Projektwechsel innerhalb der Projektgruppe oder ein Clean (meist 2x notwendig, eventuell kommt aber auch eine AccessViolation) kann den Speicher freigeben, so kann man meist weiterarbeiten. Ansonsten bleibt nur der Neustart der Ide. In den letzten Jahren wurde es immer schlimmer, da das Projekt weiter anwächst.

Die externen Quellen als Packages auslagern reduziert den Code auf ~2,7 Millionen Zeilen. Die Bauzeit verringert sich dabei nur um 20 Sekunden, aber der Speicherverbrauch bleibt.

Daher meine Frage, ob jemand hier auch Erfahrungen mit Delphi-Projekten hat, bei dem das Projekt über 2 Millionen Codezeilen hat. Ist das Speicherproblem und die Instabilität ein Fehler der Ide? Hat jemand ähnliche negative Erfahrungen gemacht. Oder gibt es jemand bei dem solche Probleme nicht auftreten?
Wir rätseln hier noch, ob unsere Projekte/Projektestruktur der Grund für die instabile Ide ist oder ob es einfach an den mehreren Millionen Zeilen Code liegt.

mit freundliche Grüßen
Nico M.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 09:33
Das Problem existiert mindesten schon seit Delphi 6.
Verbesserung ergibt es mit dem bekannten IDEFixPack.
Auch 10.2 hat hier einiges an verbesserung gebraucht.

Für Build-Prozesse solltet ihr einen Buildserver (Jenkins) aufsetzen den ihr mit Batch-Dateien auf Basis von msbuild "füttert".
Diese Batch-Dateien könnte ihr dann auch verwenden wenn ihr auf dem Entwicklungsrechner mal alles neu erstellen wollt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
NicoM

Registriert seit: 18. Mai 2018
4 Beiträge
 
#3

AW: Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 09:39
Vielen Dank für die Antwort.

Das IDEFixPack sollten alle installiert haben und mit 10.2 ist es schlimmer geworden, daher auch die Frage hier im Forum.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 09:40
Hallo,
alles was extern ist und sich damit so gut wie nie ändert, würde ich nicht als pas,
sondern nur als dcu reinnehmen.
Heiko
  Mit Zitat antworten Zitat
DevLinus

Registriert seit: 25. Apr 2017
26 Beiträge
 
Delphi 10 Seattle Professional
 
#5

AW: Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 10:37
Wie Hoika schon geschrieben hat externe Quellcode als .dcu dateien verwenden. Was bei uns das erzeugen von knapp 7 Minuten auf 2,5 Minute reduziert hat ist, dass wir alle Uses die nicht zum Interface gehören und den Implementation Bereich verschoben haben.

IDE Speicherverbrauch kann man verbessern indem man folgende Sachen macht:

Refactor Funktion entfernen

http://www.delphifeeds.com/go/s/124344

Und das Modern Theme in der Regerstry auschalten.

Kann aber gerne mal eine Delphi Installation zerstören. Angaben ohne Gewähr!

Geändert von DevLinus (18. Mai 2018 um 10:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 10:43
Man plant für die ferne Zukunft die IDE auf 64 Bit zu heben. (geht nur nicht so leicht, wegen den ganzen Fremdkomponenten und IDE-Plugins, welche dann ebenfalls auf 64 Bit sein müssen)

Einen ersten Bugfix der Symtome gabe es vor 'ner Weile, als in der IDE die 4 GB-Option aktiviert wurde (früher maximal 2 GB und jetzt bis zu 4 GB für die IDE)


Und ja, wenn du Fremdkomponenten und eigene CodeTeile vorkompiliert hast (über eigenständige Projekte/Projektgruppen), dann fallen sie jetzt raus, beschleunigen alles und sparen Speicher.

Oder via Commandline kompilieren.
Die Speicherlecks und ungünstigen Caches fallen dort nicht auf, weil danach immer Compiler/Speicher wieder freigegeben werden.
Unter MainMenu > Tools (Build-Tools...) kannst dir auch einen Aufruf des ComandlineCompilers reinbauen.
Den Aufruf kannst dir in Meldungen > Erzeugen abgucken.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
NicoM

Registriert seit: 18. Mai 2018
4 Beiträge
 
#7

AW: Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 10:44
Vielen Dank.
Wie ich oben schon schrieb haben wir die externen Quellen auf Packates (bpl/dcp) umgestellt. Was den Code auf ~2,7 Millionen Zeilen reduziert. Die Bauzeit verringert sich um 20 Sekunden, aber der Speicherverbrauch bleibt.
Das Problem ist das der Speicher nach einem Build bzw. vor einem neuen Build nicht komplett freigegeben wird und daher sich der Verbrauch mit jedem Build weiter erhöht. Nach dem dritten Build macht die Ide dann nicht mehr mit.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 10:46
dass wir alle Uses die nicht zum Interface gehören und den Implementation Bereich verschoben haben.
Gerade davon würde ich eher abraten.

Besser so viel wie möglich im Interface und nur "absichtliche" Kreuzreferenzen in die Implementation.

Denn in Implementation sind die Unit-Initialisierungen "zufällig", waren im Interface diese Units immer vor deiner Unit initialisiert werden.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 10:47
Das Problem ist das der Speicher nach einem Build bzw. vor einem neuen Build nicht komplett freigegeben wird und daher sich der Verbrauch mit jedem Build weiter erhöht. Nach dem dritten Build macht die Ide dann nicht mehr mit.
Darum auch.
Zitat:
Oder via Commandline kompilieren.
Die Speicherlecks und ungünstigen Caches fallen dort nicht auf, weil danach immer Compiler/Speicher wieder freigegeben werden.
Unter MainMenu > Tools (Build-Tools...) kannst dir auch einen Aufruf des ComandlineCompilers reinbauen.
Den Aufruf kannst dir in Meldungen > Erzeugen abgucken.
IDE-FixPack und Co. hacken sich aber in diese Caches ein und verbessern da ein bissl was.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
ventiseis

Registriert seit: 15. Jan 2009
Ort: 94032 Passau
53 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

AW: Ide instabil mit hohem Speicherverbrauch

  Alt 18. Mai 2018, 11:06
Ich glaub nicht, dass man da viel machen kann. Ich vermute (!), die IDE bräuchte mehr Speicher (oder der Speicher wird zu fragmentiert), wie ein 32-bit-Prozess erhalten kann. Abhilfe könnte da nur eine 64-bit IDE schaffen (Wunschdenken!).

Wir haben hier ein ähnliches Problem:
  • 1-2 Mio Zeilen code, aber durch den Einsatz von Generics (in vielen typisierten Objektlisten) DCUs, die ca. 17 MB groß sind und nur Code enthalten
  • der Speicherverbrauch in Delphi Seattle wächst bis zu 2.5GB an, und die IDE wird extrem träge
  • die automatische Vervollständigung im Quelltext lädt zun Kaffeetrinken ein, da es so lange dauert - bei einigen Projekten erhöht sich die benötigte Zeit zum Kompilieren dann mit jedem mal enorm: erst 1, dann 2, dann 8 Minuten
  • danach kommt wahlweise eine Fehlermeldung oder die IDE reagiert nicht mehr

IdeFixPack ist installiert, ändert aber an dem Problem nix.
Bastian
  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 03:42 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