Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie wichtig ist FREE? (https://www.delphipraxis.net/127495-wie-wichtig-ist-free.html)

Sir Rufo 14. Jan 2009 15:15

Re: Wie wichtig ist FREE?
 
ja, ja :mrgreen: habe ich nur so auf die Schnelle zusammengetippt

DeddyH 14. Jan 2009 15:21

Re: Wie wichtig ist FREE?
 
Das sag ich in solchen Fällen auch immer :mrgreen:

gsh 14. Jan 2009 15:55

Re: Wie wichtig ist FREE?
 
hier noch ein kleiner Tipp. Schreibe immer folgende Zeile in der Projektdatei hinzu:
Delphi-Quellcode:
ReportMemoryLeaksOnShutdown := true; <-- Diese hier
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
Damit bekommst du beim Programm ende ein kleine Meldung angezeigt wenn du mal vergessen hast etwas freizugeben.

Zitat:

Zitat von Weazy
Vielleicht ne dämliche Frage, aber wenn ich ein programm mit dem taskmanager abschiesse wird der speicher aller objekte dieses programmes doch freigegeben?

Windows gibt beim Programm ende alles frei (auch wenn die Datei abgeschossen wird). Aber schöner ist es wenn man es selber macht.

Dezipaitor 14. Jan 2009 16:10

Re: Wie wichtig ist FREE?
 
Free ist solange egal, bis in 32bit Anwendungen der 2GB Speicher reicht. Windows gibt am Ende eh den Anwendungsspeicher frei.
Wenn deine Anwendung auf 64bit läuft ist das fast egal. Da ist der verbaute Speicher die Grenze.

gsh 14. Jan 2009 16:43

Re: Wie wichtig ist FREE?
 
Zitat:

Zitat von Dezipaitor
Free ist solange egal, bis in 32bit Anwendungen der 2GB Speicher reicht. Windows gibt am Ende eh den Anwendungsspeicher frei.
Wenn deine Anwendung auf 64bit läuft ist das fast egal. Da ist der verbaute Speicher die Grenze.

so würde ich das nicht sagen .. stell dir vor jede Anwendung würde fast 2GB Speicher verbrauchen. Also ich weiß nicht wie es dir geht aber ich hab keine 100GB RAM in meinem Computer :wink:

Sir Rufo 14. Jan 2009 16:46

Re: Wie wichtig ist FREE?
 
Zitat:

Zitat von gsh
Zitat:

Zitat von Dezipaitor
Free ist solange egal, bis in 32bit Anwendungen der 2GB Speicher reicht. Windows gibt am Ende eh den Anwendungsspeicher frei.
Wenn deine Anwendung auf 64bit läuft ist das fast egal. Da ist der verbaute Speicher die Grenze.

so würde ich das nicht sagen .. stell dir vor jede Anwendung würde fast 2GB Speicher verbrauchen. Also ich weiß nicht wie es dir geht aber ich hab keine 100GB RAM in meinem Computer :wink:

Dann würde ich aber mal schnell aufrüsten ... dann kann man sich das Free auch sparen, wer weiß wofür man die ganzen Objekte noch brauchen kann ... vielleicht eine Gebraucht-Objekt-Börse errichten :mrgreen:

Mao 14. Jan 2009 20:06

Re: Wie wichtig ist FREE?
 
Das Betriebssystem hat bei 64-Bit-Adressierung allerdings die Möglichkeit, eine ganze Menge auf die Platte auszulagern. Wenn die Platte zulässt, weit mehr als nur die 100GB.

Weazy 14. Jan 2009 20:22

Re: Wie wichtig ist FREE?
 
das wird aber extrem langsam wenn du nicht gerade ein 1000 euro teuren flash speicher hast :stupid:

gsh 14. Jan 2009 20:35

Re: Wie wichtig ist FREE?
 
Zitat:

Zitat von Weazy
das wird aber extrem langsam wenn du nicht gerade ein 1000 euro teuren flash speicher hast :stupid:

naja egal Hauptsache man kann die Objekte wiederverwenden ... recycling ist ja heutzutage sehr wichtig :mrgreen:

Luckie 14. Jan 2009 23:07

Re: Wie wichtig ist FREE?
 
Zitat:

Zitat von gsh
so würde ich das nicht sagen .. stell dir vor jede Anwendung würde fast 2GB Speicher verbrauchen. Also ich weiß nicht wie es dir geht aber ich hab keine 100GB RAM in meinem Computer :wink:

Das macht nichts. Im Gegensatz zu DOS hat Windows ja einen virtuellen Speicher. Da hat jeder Prozess einen entsprechend großen Adressraum. Unter 32-Bit sind eben 4 GB bzw. nutzbare 2 GB. Die tatsächliche Größe des Arbeitsspeichrs spielt da erstmal keine Rolle, weil dann eben in die Auslagerungsdatei ausgelagert wird. Die Größe des Arbeitsspeichers spielt dann eher bei der Performance eine Rolle. Je größer der Arbeitsspeicher ist, desto weniger muss ausgelagert werden und Lese- bzw. Schreibzugriffe auf die Festplatte sind eben (noch) sehr langsam.

Nichtsdestotrotz ist der Adressraum pro Prozess eben begrenzt und man sollte schon dafür sorgen, dass nicht mehr benötigter Speicher wieder freigegeben wird. Es geht ja nicht immer nur um den absoluten frien Speicher, sondern auch um zusammenhängenden Speicher. Wenn ich ein dynamisches Array initialisiere und nicht genug zusammenhängender Speicher alloziiert werden kann, ist auch Ende. Und da ist es egal, wie groß der Adressraum ist. Wenn bei 64-Bit der Speicher ungünstig belegt wird, kann es auch da passieren, dass nicht genug zusammenhänmgender Speicher zur Verfügung steht. Ausserdem ist es sauberer Stil, seinen Speicher wieder selbst frei zu geben. Will man sich darum nicht kümmern müssen, dann muss man eine Sprache benutzen, die eine Garbagecollection besitzt und sich selber um das Freigeben kümmert.

Aber um auf die Ausgangsfrage zurückzukommen eine Gegenfrage: "Wie wichtig ist es den Müllereimer zu leeren?"


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr.
Seite 2 von 2     12   

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