Hallo
Ik heb een algoritme die in een file van ongeveer 35KB vele zoekacties en leesacties doet.
Dit gebeurt aan de hand van een FileStream.
Als het process bezig is, kijk in in Task Manager: na ongeveer 5 minuten was de waarde voor I/O bytes read = 542 175 205 048, wat als ik me niet vergis gelijk staat met een 500 gigabyte.
Toch was de schijfactiviteit (geen SSD trouwens) tijdens dat zelfde proces meestal verwaarloosbaar, af en toe 1%.
Kan iemand hier uitleg bij geven? Ik denk aan de cache van het operating system? Dat moet toch ongelofelijk veel overhead veroorzaken want als ik de file zélf eerst in het geheugen laad en er vervolgens het algoritme op los laat (puur op een MemoryStream dus), duurt die zelfde actie geen 5 minuten maar letterlijk enkele seconden.
Ik heb een algoritme die in een file van ongeveer 35KB vele zoekacties en leesacties doet.
Dit gebeurt aan de hand van een FileStream.
Als het process bezig is, kijk in in Task Manager: na ongeveer 5 minuten was de waarde voor I/O bytes read = 542 175 205 048, wat als ik me niet vergis gelijk staat met een 500 gigabyte.
Toch was de schijfactiviteit (geen SSD trouwens) tijdens dat zelfde proces meestal verwaarloosbaar, af en toe 1%.
Kan iemand hier uitleg bij geven? Ik denk aan de cache van het operating system? Dat moet toch ongelofelijk veel overhead veroorzaken want als ik de file zélf eerst in het geheugen laad en er vervolgens het algoritme op los laat (puur op een MemoryStream dus), duurt die zelfde actie geen 5 minuten maar letterlijk enkele seconden.