@mad_god

Как поднять скорость чтения файлов с диска?

Чтение мелких (100КБ) файлов с диска в цикле и добавление их содержимого в list, для дальнейшей обработки, не поднимает использование жёсткого диска выше 3МБ в секунду. Это предел или можно увеличить скорость чтения?
CrystalDiskMark показывает 40 МБ, но это на больших файлах, а мелкие, да ешё фрагментированые могут читаться медленнее.
Несколько процессов не имеет смысла использовать, так как это лишь нагружает читающую головку винчестера, как я понял.
Но 3 МБ ? Это как-то неправдоподобно.
код такой,

while(count<2000):
			try:
				data = open(path+str(num)+".html").read()
        lst.append(data)
			except:
				pass
  • Вопрос задан
  • 1094 просмотра
Пригласить эксперта
Ответы на вопрос 4
@deliro
Это правдоподобно.
Ответ написан
@mad_god Автор вопроса
О да ) SSD бы ой как ускорил бы. Сравниваю я IOPS у SSD и SATA-2 хардов и слюнки текут. Но денег таких нет. Да и файлов у меня 370 ГБ.
OS - WIN 7 x64. HDD - Hitachi SATA-2 на 2TB.
Ответ написан
Комментировать
@asd111
Если много оперативки - RAMdisk. Версия 4Гб бесплатно. Все данные хранящиеся на Ram диске загружаются в оперативную память, но с ними можно работать как с обычными файлами на жестком диске.

Если есть 3-4 тыс. руб. то можно взять SSD на 60-120 Гб.
Ответ написан
@alpy
open возвращает не содержимое файла, а File Object, так что собственно данные с диска вы не читаете. Замените на
lst.append(data.read())
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы