.NET 4.0 Memory-Mapped-Dateien-Leistung
Ich würde gerne wissen, ob jemand versucht neue .NET 4.0 Memory-Mapped-Dateien-Funktionen?
Ich weiß, dass Sie sind so alt wie OS, aber einheitlichen Handhabung in .NET ist neu.
Hat sich schon jemand testen können und sagen etwas über die Leistung?
Ich bin ziemlich interessiert Zugriffszeit auf zufällige Teile der Binär-Datei, schreib-Geschwindigkeit und so weiter. Auch performance-Vergleich zu nativen WinAPI MMF wäre schön.
Dank!
- keine Ahnung, bro, dont Sie erhalten alle benchmark-on-net
- Nein, ich finde keine festen zahlen... nur-tech-spec und Vorteile.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Memory-mapped-Dateien in .NET 4.0 (in der neuen
System.IO.MemoryMappedFiles
namespace) einfach wickeln Sie das Win32-API für die memory-mapped-Dateien.Bedeutet das, dass Sie so schnell wie möglich. Dies ist der gleiche Mechanismus, der verwendet wird, um zu laden .NET-assemblies in den Speicher.
In Bezug auf die tatsächlichen timing-zahlen, das hängt davon ab, auf 32-bit-versus 64-bit, wie viel Speicher Sie haben, wie groß die Dateien sind, die access-Muster(s) und zu einem großen Teil die Art der physischen Festplatte hardware.
Ref: Memory-Mapped-Dateien
In der folgenden Frage, die ich aus einem performance-test von MemoryMapped-Dateien im Vergleich zu standard-IO:
Nachteile der Verwendung von memory-mapped-Dateien
Ich war nicht in der Lage zu finden, Nein große Nachteile für meine Zwecke, die Leistung ist etwa 4x schneller für die memory-mapped-Dateien und in der Frage finden Sie einige interessante Hinweise über die Art und Weise, diese Dateien funktioniert und was Sie haben, zu berücksichtigen.
In meinen tests die Leistung .NET 4.5 MMF war ~40% der performance von nativen WinAPI calls, d.h. mehr als zweimal langsamer.