Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ab wann in den Arbeitsspreicher (https://www.delphipraxis.net/102792-ab-wann-den-arbeitsspreicher.html)

Thorben_Ko 5. Nov 2007 06:20


Ab wann in den Arbeitsspreicher
 
Hallo,

ich habe ein Object welches mit ein record verwaltet:

Delphi-Quellcode:
  TAusgabe = record
    Datum : TDateTime;
    Notiz : String[100];
    Preis : Real;
    Kategorie : String[50];
    UnterKategorie : String[75];
    Laden : String[50];
    kauf : boolean;
    ArtikelBezeichnung : String[100];
  end;
Das Object hat intrern ein Array of TAusgabe. Ich wollte mal fragen ob ihr meint es würde sich lohnen die daten per Memory Stream in den Arbeitsspreicher zu schreiben solange man sie nicht braucht und dann wieder zu laden sobald man sie braucht.

Sry für diese dumme frage aber ich bin echt am überlegen ob das überhaupt sinn macht...

Danke schon mal, THorben

mkinzler 5. Nov 2007 06:25

Re: Ab wann in den Arbeitsspreicher
 
Index und Daten trennen und dann nur benötigten Record in Speicher Laden

guidok 5. Nov 2007 06:26

Re: Ab wann in den Arbeitsspreicher
 
Naja, ein MEMORYStream liegt genauso im Arbeitsspeicher, wie auch das Array selbst. Was soll das also bringen?

Du könntest allenfalls über einen FILEStream nachdenken, wobei wahrscheinlich eine Datenbank die sinnvollste Lösung ist, wenn ich mir deinen Record so ansehe.

Thorben_Ko 5. Nov 2007 06:31

Re: Ab wann in den Arbeitsspreicher
 
Zitat:

Zitat von mkinzler
Index und Daten trennen und dann nur benötigten Record in Speicher Laden

gute idee so werd ich es machen. :)


Zitat:

Zitat von guidok
Naja, ein MEMORYStream liegt genauso im Arbeitsspeicher, wie auch das Array selbst. Was soll das also bringen?

Du könntest allenfalls über einen FILEStream nachdenken, wobei wahrscheinlich eine Datenbank die sinnvollste Lösung ist, wenn ich mir deinen Record so ansehe.

Da hast du ja recht das ist mir auch klar, nur ich dachte wenn ich es auslagere verbrauchen die daten nicht den Arbeitsspreicher der dem Programm zugewiesen wird.

Welchen tieferen Sinn hat ein Memorystream den dann?

Thorben

hathor 5. Nov 2007 07:01

Re: Ab wann in den Arbeitsspreicher
 
Diese Diskussion geht an den Eigenheiten des Betriebssystems - in diesem Fall WINDOWS - völlig vorbei.

Die totale Pagefile-Grösse setzt sich zusammen aus dem Pagefile auf der Festplatte und dem RAM-Speicher, abzüglich evtl. gesharedem Video-RAM. Wenn man irgendetwas auf dem PC beschleunigen will, hilft nur
1. MEHR RAM und NOCH MEHR RAM!
Als 2. Möglichkeit ist eine fixe Grösse des Pagefiles auf einer 2.Festplatte in einer eigenen Partition sinnvoll.

Muetze1 5. Nov 2007 07:03

Re: Ab wann in den Arbeitsspreicher
 
z.B. um Daten nicht extra auf Festplatte anlegen zu müssen. z.B. Download eines Bildes und dieses dann im Image auf der Form anzeigen. Beim Download kein FileStream sondern MemoryStream angeben und aus diesem dann vom Image her laden.

@hathor: Genau. Du schreibst Programme die viel Speicher fressen und drehst für den Kunden dann einfach die Systemanforderungen hoch? Als Programmierer ist es doch eher unsere Aufgabe entsprechend zu programmieren anstatt verschwenderisch. Vor allem ist deine Begründung viel mehr eine Ausrede.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 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