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
Antwort Antwort
Benutzerbild von OrallY
OrallY

Registriert seit: 29. Apr 2003
268 Beiträge
 
#1

file mapping object

  Alt 19. Jun 2003, 16:18
Was hat es damit auf sich? Was ist ein file mapping object und wozu benutzt man es?
.oO'rallY
Linux is like a tipi: no gates, no windows and a gnu-eating apache inside...
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#2
  Alt 19. Jun 2003, 18: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
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3
  Alt 19. Jun 2003, 21:03
Moin Zusammen,

ausserdem hatte ich hier mal eine einfache Kompo für FileMapping gepostet. Unter dem Suchbegriff CreateFileMapping sollte die eigentlich schnell zu finden sein.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4
  Alt 19. Jun 2003, 22:14
Und wenn man sich die JCL (Jedi Code Library) downloaded hat man mit der Unit JclFileUtils gleich eine Klasse TJclFileMapping und viele weitere Klassen zu MMFs.
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:35 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