Frage

Ich versuche, ein paar Textdateien (ca. 300 kb pro Stück) zu lesen. Bis jetzt habe ich die Filestream wurde mit Hilfe der Datei zu öffnen und es zu lesen. (TAB getrennt). Allerdings hörte ich über die Memory-Mapped-Datei in .NET 4.0. Wäre es mein liest schneller machen?

Gibt es einen Beispielcode, der die Lese einer einfachen Datei funktioniert und Leistung vergleichen?

War es hilfreich?

Lösung

Wenn die Dateien auf der Festplatte und nur bedürftig sind lesen in den Speicher werden, dann eine Memory-Mapped-Datei wird überhaupt keine Hilfe, wie Sie sie noch von der Festplatte müssen lesen.

Wenn alles, was Sie tun, ist die Dateien zu lesen, gibt es keinen Punkt in Speicherzuordnung sie.

Memory-mapped-Dateien für den Einsatz sind, wenn Sie intensive Arbeit leisten mit der Datei (Lesen, Schreiben, Ändern) und will die Scheibe IO vermeiden.

Andere Tipps

Wenn Sie nur Lesen einmal dann Memory-Mapped-Dateien machen keinen Sinn; es dauert immer noch die gleiche Menge an Zeit, um die Daten von der Festplatte zu laden. Memory-Mapped-Excel-Dateien, wenn viele zufälligen Lese- und / oder Schreibvorgänge müssen auf einer Datei durchgeführt werden, da es nicht erforderlich ist, die Lese- oder Schreibvorgänge zu unterbrechen, mit Operationen suchen.

Mit Ihre Datenmenge MMFs geben keinen Vorteil. Aber im Allgemeinen, wenn man stört die Tests durchführen, wird er feststellen, dass das Kopieren von großen (sehr groß) Dateien MMFs ist schneller als Aufruf Readfile / Writefile nacheinander verwenden. Dies wird durch verschiedene Mechanismen verursacht intern in Windows für MMF-Management und für die Datei IO verwendet.

Daten im Speicher Verarbeitung immer schneller als etwas ähnliches über Disk IO tun. Wenn Ihre Verarbeitung sequentiell ist und leicht in den Speicher passen, können Sie File.ReadLines ( ) Daten Zeile für Zeile zu erhalten und verarbeiten sie schnell ohne Aufwand Festspeicher. Hier Beispiel: Wie eine große Textdatei in C # öffnen

Überprüfen Sie diese Antwort zu: Wenn Memory-Mapped-Dateien verwenden

Memory Mapped Datei nicht lesen Textdateien empfohlen. Zum Lesen Textdatei, die Sie direkt mit Filestream tun. MMP ist am besten, um binäre Daten zu lesen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top