Скорость чтения файла с жесткого диска превышает заявленную скорость.Чтение через FileStream - PullRequest
0 голосов
/ 16 октября 2018

Я читаю файл 800 Мб через FileStream (.NET 3.5, Консольное приложение).Жесткий диск имеет шину SATA 3 (600 Мбит / с), но я не могу понять: почему время чтения файла составляет всего 486 мс.

Ситуация становится еще хуже, когда я пытаюсь ее прочитать.асинхронно - это занимает около 100-150 мс.

Файл не кэшируется - я вижу увеличение потребления ОЗУ на 800 Мб только при фактической загрузке файла в память.

Пожалуйста,, помоги мне, это кажется мне очень странным

1 Ответ

0 голосов
/ 16 октября 2018

Когда вы читаете файл, он также копируется операционной системой в кеш файловой системы.Если файл не был изменен с момента последнего чтения, и он все еще кэшируется, чтение подается полностью из ОЗУ.Вот почему после чтения файла один раз вы можете полностью обойти диск для последующих чтений.

Кэш-память также не рассматривается как потребление памяти.Кэш-память - это полная свободная память, на что также указывает диспетчер задач:

enter image description here

...