Как лучше елозить по файлу
От: okon  
Дата: 18.06.19 13:40
Оценка:
У вас есть большой файл несколько гигабайт в котором склена куча ресурсов, со своей "файловой системой" и вам нужно вытащить оттуда сотенку ресурсов.

решение в лоб — формально по описанию формата данных читать байты, но результат получается медленный. Хочется понять какие подходы к оптимизации есть,

в настоящее время используется FileStream и BinaryReader,

есть ли смысл кэшировать блоки по 4кб ( или сколько кб физически читается за раз ) например, чтобы не обращаться к диску часто, если данные лежат рядом, или они и так кэшируются на уровне железа и дополнительный кэш в памяти не даст прироста скорости ?
возможно memorymappedfile работает оптимальнее в этих случаях и кэширует исключая лишние обращения ?
какие-то еще есть реализации ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.