AW: Generics / Speicherprobleme in der IDE
Zitat:
Zitat:
|
AW: Generics / Speicherprobleme in der IDE
Zitat:
Speicherverbrauch Der ErrorInsight/Refactoring Parser trägt hier die Hauptschuld. Dieser verbraucht nämlich für DCU Dateien den doppelten Speicherplatz. Er lädt über den Compiler die DCU Dateien von denen er keine PAS Dateien findet (z.B. System.dcu, Controls.dcu, Forms.dcu, ...) und überträgt dann Teile, welche er gerade braucht, in seine eigene .NET Klassenstruktur. Somit hat man die DCU und die .NET Objekte zu den Daten aus der DCU im Speicher. Trifft der Parser auf einen Generic (DCU oder PAS), dann geht der Speicher Verbrauch erst so richtig los, denn er instanziert den Generic und kopiert dabei sämtliche Typen. Wenn dann auch noch dank Garbage Collector sich niemand Gedanken macht, wo denn diese Generics-.NET Objekte noch referenziert werden, dann bleiben sie eben bis zum Schließen des Projekts im Speicher. Dass der Compiler durch die ganzen Ändernung und die Generics natürlich auch mehr Speicher für seine Daten braucht, tut dem ganzen natürlich auch nicht wirklich gut. Und dann kommt noch das Problem dazu, dass DCU Dateien, die von mehreren Projekten innerhalb einer Projektgruppe genutzt werden, nicht einmal, sondern für jedes einzelne Projekt im Speicher liegen. Hat man also 10 Projekte in einer Projektgruppe und kompiliert diese, dann sind da auch 10 System.dcu, SysUtils.dcu usw. im Speicher. Da hatte ich auch schon ein paar Ideen wie ich die vereinen kann, aber leider schreibt der Compiler in den Speicherbereich während des kompilierens Daten rein, womit man den DCU-Block ala XMS-Speicher under DOS austauschen müsste. Die notwendigen Swap-Codestellen lassen sich aber ohne Compiler-Quellcode recht schlecht alle aufspüren. Also bliebe nur ein empierisches Vorgehen mittels VirtualProtect(READONLY)+VectoredExecptionHandler. Dann müssten aber auch alle möglichen Codepfade durchlaufen werden, welche ich sicherlich nicht alle finden würde. |
AW: Generics / Speicherprobleme in der IDE
Wahnsinn, das war interessant. :thumb:
|
AW: Generics / Speicherprobleme in der IDE
Zitat:
|
AW: Generics / Speicherprobleme in der IDE
Zitat:
|
AW: Generics / Speicherprobleme in der IDE
Zitat:
|
AW: Generics / Speicherprobleme in der IDE
Zitat:
|
AW: Generics / Speicherprobleme in der IDE
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: Generics / Speicherprobleme in der IDE
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Anhang 43041 - trotz deiner URL in der Adresszeile. |
AW: Generics / Speicherprobleme in der IDE
Dann vergleich doch mal die url in deiner Addressleiste mit dem Link den ich im Post zuvor schrieb, ich geb dir nen Tip: RAUTE! :stupid:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:32 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