XE7 Memory verbrauch untragbar.
Hallo Zusammen!
Es war ja schon ätzend genug, dass man XE6 nach 3-4 Build (Android) oder 8-10 Build (Win32) neu starten musste, weil kein Speicher mehr da war, aber jetzt mit XE7 ist es echt ne Katastrophe. Ein Build (Android App mit 31xxx Lines) und schon verbraucht die IDE 1GB Speicher! Arbeitet sonst noch jemand mit XE7? Mavarik |
AW: XE7 Memory verbrauch untragbar.
Ich bin hauptsächlich noch auf XE5.1, aber bislang ist mir bei XE7 (für Win32) nichts aufgefallen, trotz zahlreichen Add-Ons (cnPack, gexperts, IDE Fix Pack, ...)
|
AW: XE7 Memory verbrauch untragbar.
Hast Du ein Projekt von einer mobilen App mal reingeladen?
Plötzlich werden alle Dateien die im Projektordner lagen mit auf das Device deployed... Beispiel: - Bilder.RC - Build.Bat - todo.txt |
AW: XE7 Memory verbrauch untragbar.
Hast du "What's new in XE7: Project Files Are Automatically Added to the Deployment Manager" gesehen? Vielleicht ist es das...
|
AW: XE7 Memory verbrauch untragbar.
Das kann ich so nicht direkt nachvollziehen. Ich habe zwar jetzt kein Android-Projekt ähnlicher Größe, aber auch ein mehrmaliges Build einer Win32-App mit > 800.000 Zeilen bringt den verwendeten Speicher hier nicht dauerhaft über 450 MB. Das meiste davon wird auch nach dem Schließen des Projekts wieder freigegeben.
|
AW: XE7 Memory verbrauch untragbar.
Und ich dachte das Speicherleck (und der geile Cache) im Inline-Compiler wurde langsam mal behoben?
Beim CommandLine-Compiler fällt es ja nicht auf, da der ständig neu gestartet wird. :roll: PS: Selbst in XE kann man keine "größere" Projektgruppe auf einmal durchkompilieren. Habt ihr das coole Tool vom Andy eingebunden? Der räumt den Cache ein bissl auf (wenn ich mich nicht irre). In meinem XE3 ist auch lange nichts mehr aufgefallen, aber bei einer Hardcoresession anfang des Jahres ist mein Warncode plötzlich angesprungen, welchen ich fast schon vergessen hatte. :lol: Hier gibt es irgendwo einen Thread, wo ich auch mal solche Speicherprobleme hatte und dabei hatte ich mir eine BPL mit einem Thread oder Timer in die IDE eingebunden, wo dann bei vollem RAM kurz vorher eine Warnung kommt, so ala "He, der RAM ist gleich voll ... Willst du nicht lieber noch schnell speichern, bevor alles abraucht?". Und Andy hatte da auch noch ein paar interne Dinge verraten, bzw. es gab ein Tool von ihm, welches da versucht bissl aufzuräumen. |
AW: XE7 Memory verbrauch untragbar.
Hier meine Daten bezüglich Speicherverbrauch (Arbeitssats aus Taskmanager)
Nach Start (ohne Projekt) D6: 87 MB XE6: 33 MB XE7: 31 MB Mit Projekt (Projekt.dpr-Datei geöffnet, 32 Bit-Anwendung, ca. 2 Mio. Quellcodezeilen) D6: 89 MB XE6: 350 MB XE7: 323 MB Nochmaliger kompletter Rebuild: D6: 225 MB XE6: 545 MB XE7: 524 MB Und nochmal kompletter Rebuild: D6: 229 MB / 234 / 235 XE6: 548 MB / 547 / 549 XE7: 544 MB / 546 / 547 Übrigens. Für Projektgruppen compilieren ist es doch viel schöner Batch-Dateien mittels MSBUILD zu erstellen. Oder am besten gleich einen Buildserver :-) |
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
Hab da mal ein Video von gemacht... IDE neu gestartet... Projekt geladen... ein Build...(Beim 2. Mal wird's mehr) Abgesehen vom Linux-Linker - oder was auch immer das ist - der mal eben auch 1GB braucht. Mavarik |
AW: XE7 Memory verbrauch untragbar.
Hast du auch Virenscanner und Co. so konfiguriert das sie nich in jedes pas/dcu/...-Datei schauen?
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
@der schöne Günter
.. mal OT jetz. Wo hast du den CnPack für XE7 her? Habe im Inet noch kein Build mit offizieller Unterstützung gefunden. mfg newbe |
AW: XE7 Memory verbrauch untragbar.
Ich les da überall was von XE7. :angel:
http://www.cnpack.org/downbuilds.php?lang=en https://github.com/cnpack/cnvcl https://github.com/cnpack/cnwizards ... |
AW: XE7 Memory verbrauch untragbar.
Wenn man direkt auf cnPack.org geht, sieht man es zugegebenermaßen auch nicht. Man muss oben auf "Nightly Build" gehen. Da muss man auch erst mal drauf kommen 8-)
|
AW: XE7 Memory verbrauch untragbar.
Der ganze Ärger ändert aber nichts an der Tatsache, dass Windows einem 32bit Prozess einen Adressraum von 2GB gewährt.
1GB Speicherverbrauch ist zwar nicht ganz so wenig, aber wenn man das mal genau durchrechnet ... :gruebel: ... ist es immerhin nur die Hälfte des Möglichen. Da müssten sich also noch echte Bugs im Build Prozess befinden. Mal so nebenbei, rein interessehalber, nicht böse gemeint und kein Flamen ... 31000+ Zeilen Code? Für eine mobile Anwendung? Heftig! Kannst Du einschätzen wie viele Zeilen Du geschrieben hast und wie viele Zeilen aus der RTL hinzukommen? Meine letzte iOS App hatte im Vergleich dazu 800 Zeilen Code verteilt auf 14 TableViewController und 10 Model Klassen. Ein paar UI Spielereien waren auch drin. Für eine kleine iOS App also nicht ganz so klein. Das war so eine Art Tutorial App. Daher habe ich Models und Controller Logik teilweise mehrfach geschrieben, damit ich den Quellcode für die "Leser" schön in separate Unterordner legen konnte. Das Kürzen auf 600 Zeilen wären also keine Hürde gewesen. Was schreibt man im Mobile Bereich in 31000 Zeilen? :gruebel: |
AW: XE7 Memory verbrauch untragbar.
Zitat:
Zugegeben 11000 Zeilen davon sind von TMS... Die Restlichen bilden jedoch die App und das ist leider erst der Rumpf mit minimal Funktionalität. Mavarik |
AW: XE7 Memory verbrauch untragbar.
[QUOTE=Mavarik;1273276]
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
Oder habe ich da etwas falsch verstanden, gibt es eine Möglichkeit nur die Library zu linken und im Fehlerfall oder bei F7 trotzdem im Source zu stehen? :stupid: Mavarik |
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Aber das wird mit dem neuen Package-Manager ja alles besser :-)
|
AW: XE7 Memory verbrauch untragbar.
Gibt es eigentlich für diese ständigen Speicherprobleme irgendeinen Workaround? Es gibt einige offene Einträge dazu in der QC für verschiedene Delphi-Versionen - aber einen Workaround habe ich bisher nicht ausmachen können.
Meist verabschiedet sich die IDE bei so ca. 1GB verbrauchten Arbeitsspeicher - warum kann Delphi eigentlich die 2GB nicht ausnutzen? Kann man (irgendwas) innerhalb der IDE ausschalten, damit das Problem wenigstens nicht so häufig auftritt? Wie haben hier ein Delphi-Projekt (XE3) mit vielen Generics, da muss nach dreimal kompilieren die IDE neu gestartet werden. IdeFixPack / ddev-Extensions bringen leider auch keine Abhilfe. Und nach den beschriebenen Problemen in späteren Delphi-Version scheint ein Update auch keine Lösung zu sein. |
AW: XE7 Memory verbrauch untragbar.
Der QC wird nicht so schnell gelöst werden. Die XE+ IDEs sind ein Sammelsurium aus Delphi, C++, Java, J#, C# und was weiss ich noch alles. Irgendwas verhindert immer wieder, das man das als 64 bit app kompiliert. Wie ich EMBA kenne, dauert das noch mal 5 Jahre. So 2020 werden wir frühestens eine 64 bit IDE sehen. Vielleicht auch gar nicht.
|
AW: XE7 Memory verbrauch untragbar.
Habe mit Mobile nichts am Hut aber klassische VCL Projekte mit mehreren Millionen Zeilen Quelltext auf ein dutzend Projekte verteilt und per Gruppe erzeugt, wird von meinem XE7 tadellos verarbeitet. Speicherverbrauch unter 500 MB...
Aber wenn ich die kostenlose Castalia Version installiere steigt der Verbrauch um 1gb und Arbeiten wird unmöglich. Vielleicht ist Delphi diesmal unschuldig? |
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
Es sind zwei Dinge zu beachten:
Wohlgemerkt: Suchpfad (das ist wo der Debugger sucht) nicht Bibiothekspfad (das ist wo der Compiler sucht)! |
AW: XE7 Memory verbrauch untragbar.
Zitat:
Du kannst zumindest in den aktuellen Versionen aber den externen Compiler einstellen, damit der statt des internen benutzt wird. Das löst das Problem bei uns absolut. Einziges Problem, das wir in XE6 hatten (bei XE7 hatte ich das bisher nicht, habe es aber auch nicht intensiv getestet): Beim Debuggen von DLLs steigt die IDE immer wieder mal aus. Leider nicht reproduzierbar, am vollen Speicher scheint es aber nicht zu liegen, der Verbrauch ist moderat. |
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Kompiliert ihr beim debuggen über den erwähnten "externen Compiler", oder mit dem Delphi-Compiler?
Wenn man den CommandLineCompiler vom Delphi dafür verwendet (externen Compiler), dann müssten die selben Compilate bei rauskommen, wie beim InlineCompiler. Ob der Debugger mit den Compilaten des externen MSBUILD klar kommt ... k.A., aber wenn, dann natürlich nur, wenn mit den nötigen Debuginfos kompiliert wurde. Solange man alle Parameter richtig übergibt. Aber der Aufruf wird ja praktischer Weise im Compiler-Log angezeigt, welchen man verwenden könnte. :angel: |
AW: XE7 Memory verbrauch untragbar.
Zitat:
Die Debuginfos müssen natürlich vorhanden sein (dafür müssen es wohl externe Debuginfos sein, sprich die .rsm Datei). Wenn du in den Projektoptionen "MSBuild extern für die Compilierung verwenden" aktivierst, kannst du auch ohne externe Debuginfos normal mit F9 debuggen, ja. Mankos sind: Fehler werden beim Kompilieren nur noch zeilenweise angezeigt statt die direkte Fehlerstelle zu markieren. Die Projektdateien müssen gespeichert sein, sprich wenn man das automatische Speichern nicht aktiviert hat, gibt es "lustige" Effekte... |
AW: XE7 Memory verbrauch untragbar.
Zitat:
Soweit ich das verstanden habe, ruft
Code:
dann wieder z.B. dcc32.exe mit allen notwendigen "Compilerschalten" auf.
msbuild Demo.dproj /t:Build
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
|
AW: XE7 Memory verbrauch untragbar.
Zitat:
Der kommt mit dem Quelltext von einigen Units nicht zurecht. https://quality.embarcadero.com/browse/RSP-9568 |
AW: XE7 Memory verbrauch untragbar.
Hallo zusammen,
ich wollte mich zu dem Thema auch mal äußern. Wir haben bei uns im Betrieb eine ProjektGruppe mit 17 Projekten (Win32). Jedes hat so im Durchschnitt 500.000 Zeilen Quelltext. Die meisten Quelltextzeilen von den 500.000 sind immer die gleichen, also in extra Units, die dann eben von dem ausgewählten Projekt genutzt wird. Also es sind nicht immer 500.000 unterschiedliche von Projekt zu Projekt. Früher (in XE4/D2009), war Alt+P+K ("Alle Projekte erzeugen") gar kein Problem. Mit XE7 braucht man es gar nicht zu versuchen! Man kann ca. 5 Projekte machen, dann ist zwingend ein Neustart der IDE erforderlich. Der Speicher steht bei 1,2 GB und damit ist Schluss. Warum hört die IDE bei 1,2GB auf obwohl eine 32bit Anwendung bis zu 2GB kann? Außerdem ist eine Betrachtung der Speicherauslastung der IDE im Taskmanager schlimmer als eine Achterbahnfahrt. So wie der Speicher da hoch und mal runter geht, fragt man sich, was passiert da überhaupt? Auch sehr toll ist das Refactoring innerhalb eines Projektes dieser Projektgruppe. Wenn man da eine Variable innerhalb EINER Unit umbenennen will (und diese kommt in dieser EINEN Unit nur 3x! vor), dann ist der Speicher auch wieder an die 1,2GB Grenze gestoßen nach dem Refactoring. Fazit: "Nutzbar" ist die IDE bei großen Projekten (innerhalb einer Projektgruppe) leider fast gar nicht. Also man muss sich dran gewöhnen, regelmäßig einen Neustart der IDE durchzuführen weil sonst Delphi irgendwann mal meldet: Nicht genügend Speicher OS: Win8.1, 64bit, 16GB RAM Ich hoffe da wird etwas dran gemacht aber wahrscheinlich liegt da kein Schwerpunkt bei Embarcadero drauf, lieber immer neue Sachen nachbauen, anstatt mal vorhandene Sachen zu optimieren. Viele Grüße |
AW: XE7 Memory verbrauch untragbar.
Ich kann überhaupt keine nackten Zahlen beitragen, aber subjektiv kommt mir die IDE nach dem Sprung von XE5.1 auf XE7 auch deutlich langsamer vor. Die IDE braucht schrecklich lange, um ein Projekt zu öffnen. Sekundenlang tut sich nichts.
Mit Speicherverbrauch hatte bislang noch keine Probleme, wahrscheinlich sind unsere Projekte alle zu popelig :oops: |
AW: XE7 Memory verbrauch untragbar.
Emba kann die XE7-IDE nicht für 64 bit (=unendlich viel freier Speicher) nicht übersetzen, weil da alle möglichen Technologien verwendet werden. Jetzt rächt sich das schlechte Frickel-Design, das über Jahre, trotz Kritik, gepflegt wurde. Ausserdem wurden die Experten alle gefeuert und die Leute im Osten haben auch nicht gerade die Motivation, das zu verbessern (Gehaltsfrage).
|
AW: XE7 Memory verbrauch untragbar.
Moin zusammen,
mich würde trotzdem mal interessieren, warum hört die IDE bei 1,2GB auf obwohl eine 32bit Anwendung bis zu 2GB kann? Viele Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:18 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