Eine beliebige Datei (hier 5,3GB) komplett in MemoryStream einlesen ist doch Wahnsinn... morgen ist es eine 15GB Datei und da is auch in 64bit mit 16GB
Ram schluss mit lustig...
- weil es sich schön rechnen lässt und "etwas"
RAM heutzutage ja da ist, würde ich 2 Threads und 2x100MB Puffer nutzen...
- ein Thread liest je 100MB Puffer ein, das sollte bei heutigen HDD 0,5..1sec(=100..200MB/sec) dauern und ist per SSD noch schneller
- ein Thread rechnet den MD5 über den jeweils geladenen 100MB Puffer
- plus irgendwas einfaches als "Sync"
=> ich denke das wird die schnellste und noch einfach zu programmierende Variante ergeben, weil NextLoad&Calc auf heutigen mindestens DualCores echt parallel ablaufen
-> nebenbei trennt man so sauber Load&Calc, sodass man simpel diee jeweiligen Ausführungszeiten getrennt aufsummieren kann