AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 64 Speicherfragen

Ein Thema von BigAl · begonnen am 6. Feb 2014 · letzter Beitrag vom 19. Feb 2014
 
BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
515 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi 64 Speicherfragen

  Alt 6. Feb 2014, 21:07
Du hast einen Adressraum von 64^2 (OK, teilweise auch etwas weniger), aber Real hast du maximal RAM + Auslagerungsdatei.

PS: Das hat man auch schon mit 32 Bit.

Es gibt da Adresswerweiterungen, aber praktisch kannst du das auch einfach mit MMFs (Memory Mapped Files) machen, was aber nicht unbedingt Dateien seien müssen, aber bei 400 GB brauchst du sowieso eine Erweiterung.

MMFs kann man stückchenweise in den Speicher mappen und Windows sorgt da für das Cachen der Datei.

Wenn du einen zusammenhängenden "Stream" hast, dann brauchst du auch bei 64 Bit immenoch einen "zusammenhängenden" Speicherbereich, innerhalb des Virtuellen Speichers der Anwendung.
Vielleicht wäre es also eh besser, wenn du dir überlegst das in kleiner Stücke aufzuteilen.
Vielen Dank für die schnelle Antwort. bei 64^2 meinst Du wahrscheinlich 2^64. Das mit dem RAM wäre kein Problem. Kommt halt die entsprechende Maschine her. Das Betriebssytem (z. B. Win 8 Pro) kann ja mit den Speichermengen umgehen...

Was genau meinst Du mit Memory Mapped Files? Geht das in Richtung RAM-Disk? Über sowas habe ich schon seit Jahren nicht mehr nachgedacht. Eleganter wäre natürlich der Memory-Stream... Wie gesagt: Es wäre kein Problem da eine Liste mit Streams zu erzeugen und dann halt den entsprechenden Stream zu berechnen den man gerade für den Zugriff benötigt. Hätte auch den Vorteil, dass man mit mehreren Threads gleichzeitig auf verschiedene Streams zugreifen kann... Man macht dann halt 2 GB Blöcke oder so. Bei 200 Stück sind das dan auch 400 GB... Die Frage ist halt nur ob Delphi da irgendwie motzt bzw. ober der Memeory-Manager von Delphi überhaupt in der Lage ist das zu verwalten...

Vielen Dank nochmal

Alex
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 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