![]() |
kleines Programm - riesiger Prozess
Hallo,
mich interessiert warum, meine kompilierte exe 95kb groß ist und der dazugehörge Prozess zur Laufzeit über 2200kb. mir ist schon klar, dass einige Dinge erst zur Laufzeit geladen werden, aber wie bekomme ich heraus, welche Teile des Programms später am meisten Speicher verbrauchen und wie ich das Problem in den Griff kriege? 2200kb für eine Überwachung von WM_DEVICEChange mit ein paar extras kann doch nicht soviel Platz in Anspruch nehmen oder? :gruebel: Falls ihr mehr Infos über mein Programm braucht, bitte kurzes Reply. Grüße Sebastian |
Re: kleines Programm - riesiger Prozess
Die Größe der Exe hat nichts mit der Größe zu tun, die deine Anwendung an Speicher reserviert. Arrays, Objekte, (globale) variablen, alles belegt Speicher. Das werden die 2200 KB sein.
|
Re: kleines Programm - riesiger Prozess
Zitat:
Ich möchte ein wenig genauer wissen, wie sich die grüße des prozesses zusammensetzt. Es muss doch Erfahrungswerte (gerade bei den alten Delphi-Hasen) geben, so dass man sagen kann welche Programmteile den Prozess groß machen und welche nicht. |
Re: kleines Programm - riesiger Prozess
Eine Variable:
Delphi-Quellcode:
belegt höllisch viel RAM,
var DickesDingen: array[Cardinal] of Byte;
Delphi-Quellcode:
kaum etwas.
var KleinesTeil: Byte;
Sämtliche Datenstrukturen die du verwendest brauchen so viel Speicher, wie sie eben brauchen. Mit ![]() gruss, dizzy |
Re: kleines Programm - riesiger Prozess
Was dein Programm groß macht, habe ich doch oben schon genannt.
|
Re: kleines Programm - riesiger Prozess
die vcl!!!
bei mir hat ne leere vcl-anwendung 2220 kb. bei nonvcl ist es weniger (ich glaube 700 + x). an sonsten hängt es im wesentlichen von den eingebundenen units ein, weil du schon sehr viel eigenen code tippen musst, bis das den speicher aufbläht (höchstens du reservierst irgendwo exzessiv puffer). bilder und so sind natürlich auch platzfresser. |
Re: kleines Programm - riesiger Prozess
Bei einem 95 KB großen Programm ist es sehr unwahtrscheinlich, dass er die VCL benutzt. Was es aufbläht, im Speicher, sind die verwendeten Datenstrukturen.
|
Re: kleines Programm - riesiger Prozess
Zitat:
Code:
:mrgreen:
[Fehler] Unit1.pas(20): Datentyp zu groß: 2 GB überschritten
|
Re: kleines Programm - riesiger Prozess
Zitat:
|
Re: kleines Programm - riesiger Prozess
Zitat:
Delphi-Quellcode:
type
PDickesDingen = ^TDickesDingen; TDickesDingen = array[0..High(Integer) - 1] of Byte; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:40 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