Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Speicherverbrauch von kleinen Anwendnungen (https://www.delphipraxis.net/40201-speicherverbrauch-von-kleinen-anwendnungen.html)

OrallY 12. Feb 2005 11:44


Speicherverbrauch von kleinen Anwendnungen
 
Hi,

ich bin gerade dabei, mein Programm und dessen Speichermanagment so weit zu optimieren, wie möglich. Also hat mich interessiert, wieviel ein Programm an Speicher verbraucht, was so wenig wie möglich macht. Ein Kompilat mit folgendem Code verbraucht bei mir im Taskmgr 804 (Byte? Kilobyte?):
Code:
program Project1;

uses
  Windows;

begin
   Sleep(10000);
end.
Allerdings kenne ich Programme, die weitaus weniger verbrauchen. Beispielsweise Passwordsafe (http://passwordsafe.sourceforge.net/) verbraucht, wenn es minimiert ist, gerademal 524. Ich kenne weitere Programme, die noch weniger benötigen.

Wie ist das möglich?

greez

leddl 12. Feb 2005 12:33

Re: Speicherverbrauch von kleinen Anwendnungen
 
Das liegt daran, daß du mit der VCL programmierst und einen Haufen Units einbindest, die du evtl gar nicht brauchst. Wenn du möglichst kleine Programme willst, dann programmier non-VCL.

OrallY 12. Feb 2005 12:36

Re: Speicherverbrauch von kleinen Anwendnungen
 
thx for answer

aber du wirst mir doch zustimmen, dass es sich bei diesem Programm

Code:
program Project1;

uses
  Windows;

begin
   Sleep(10000);
end.
wohl nicht um ein VCL-Programm handelt :wink:.

greez

Oxmyx 12. Feb 2005 12:43

Re: Speicherverbrauch von kleinen Anwendnungen
 
Lass doch mal die Windows-Unit weg. Lass doch am besten alle zusätzlichen Units weg. ;-)
Sleep kannst du auch direkt implementieren:
Delphi-Quellcode:
procedure Sleep; external kernel32 name 'Sleep'; stdcall;

leddl 12. Feb 2005 12:45

Re: Speicherverbrauch von kleinen Anwendnungen
 
OK, ich gebs zu... Habs nur überflogen und den Code nich wirklich aufmerksam gelesen... :wall:
Aber der Effekt is der gleiche. Die Unit Windows is eben wahrscheinlich recht umfangreich.
Aber kurze Frage: Läuft das so? Is Sleep nich in den SysUtils?

Luckie 12. Feb 2005 12:49

Re: Speicherverbrauch von kleinen Anwendnungen
 
Nein das ist die API-Funktion.

Windows.pas selber wird schon vielea initialisieren, denke ich.

OrallY 12. Feb 2005 12:58

Re: Speicherverbrauch von kleinen Anwendnungen
 
Da ich die Windowsunit nicht einbinde, existiert die Konstante kernel32 ja auch nicht mehr ;).

Gleicher Speicherverbrauch bei folgender dpr (804K):
Code:
program Project1;
procedure Sleep; external 'kernel32.dll' name 'Sleep';
  Sleep;
end.

Luckie 12. Feb 2005 13:00

Re: Speicherverbrauch von kleinen Anwendnungen
 
Delphi bindet aber immer automatisch die Unit System.pas ein, die wird es dann sein.

OrallY 12. Feb 2005 13:01

Re: Speicherverbrauch von kleinen Anwendnungen
 
Kann man das Einbinden der system.pas irgendwie unterbinden?

Chewie 12. Feb 2005 13:17

Re: Speicherverbrauch von kleinen Anwendnungen
 
Neim, aber man kann die system.pas und die sysinit.pas ersetzen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:15 Uhr.
Seite 1 von 2  1 2      

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