AGB  ·  Datenschutz  ·  Impressum  







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

file mapping object

Ein Thema von OrallY · begonnen am 19. Jun 2003 · letzter Beitrag vom 19. Jun 2003
 
tommie-lie
(Gast)

n/a Beiträge
 
#2
  Alt 19. Jun 2003, 17:18
Memory Mapped Files sind ein Mechanismus, Dateien im Speicher zu bearbeiten.
Dabei wird die Datei vollständig in den Speicher geladen und von deiner Anwendung ein soganannter View auf dieses Speicherbereich (global, btw) benutzt, um Teile der Datei aus dem Speicher in den prozesseigenen Speicher zu befördern. das können nur einzelne Teile der Datei sein, oder auch die ganze. Diesen Speicherbereich kannst du bearbeiten wie du willst und durch flushen des Maps die Änderungen sofort in den View übernehmen. Die Daten werden aber nicht in die Datei auf der Festplatte geschrieben, sondern nur in die Filemap im globalen Speicher.
Das Ganze hat den Vorteil, daß du, wenn du viele zufällige Dateizugriffe hast, die Festplatte nicht unnötig belastest. Der Arbeitsspeicher ist viel schneller als die Festplatte, und somit bleibt zum einen Festplattenleistung für andere Dinge übrig (Windows, Multitasking, auch wenn's nicht immer klappt, sollte mand ran denken...) und deine Operationen laufen im Endeffekt schneller ab.
Das lohnt sich aber wirklich nur, wenn du die Daten oft verändern musst, z.B. für datenbankartige Anwendungen. Luckie wollte z.B. seinen Filesplitter auf Memory Mapped Files umstellen, da dabei nur die Datei sequenziell gelesen bzw geschrieben wird, was so oder so sein muss, hätte sich das nicht gelohnt, eher im Gegenteil, der Speicherbedarf wäre ohne Performancegewinn angestiegen.
Ein File Mapping Object erzeugst du mit der Funtkion CreateFileMapping, die als Datei keine Pfadangabe sondern ein Dateihandle annimmt, die Datei musst du also schon selbst geöffnet haben.

Im PSDK findest du das Thema File Mapping unter:
Base Services -> Storage -> Storage Overview -> File Management -> File Mapping
  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 19:43 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