Страница 1 из 1

Проблемы с подсчётом хешей большого количества файлов

Добавлено: Пн мар 14, 2016 12:56 pm
Qwertiy
Собственно, две проблемы.

1. При подсчёте хешей большого числа файлов файл с хешами постоянно перезаписывается, что означает, что между подсчётами хешей файлов по несколько килобайт записывается 60 мегабайт хешей всех файлов. Это катастрофически сказывается на скорости и подсчёт большого числа хешей становится невозможным. Надо просто дописывать хэш в файл, не перечитывая и не перезаписывая его полностью.

2. При установке хеширования на паузу есть вероятность сохранения файла с нулевым размером. Видимо, при этом все 60 МБ хешей находятся исключительно в памяти. Во-первых, это само по себе плохо, во-вторых, почему установка на паузу происходит в таком месте, а не после завершения записи файла с хэшами?

Добавлено: Вт мар 15, 2016 4:58 am
Max Diesel
1. Есть вещи, которые не предполагаются среднестатистическим использованием программы. Не предполагается чья-либо необходимость создавать 60-мегабайтные файлы с хэшами, как и не предполагается копирование файлов размером больше чем 30 эксабайт, как и не предполагается что пользователь обладает каталогами, внутри которых сбросано более чем 20 тысяч файлов. Возможно когда-нибудь функция будет модифицирована под экзотику.
2. Вероятность сохранения в такой ситуации файла с нулевым размером действительно существует и равна 0%. Полагаю, эта вероятность не так уж страшна, чтобы обходить ее стороной, ведь вероятность угадывания с первой попытки 4-килобитного ключа гораздо выше.

Добавлено: Пн мар 21, 2016 2:17 am
Qwertiy
1. http://russian.joelonsoftware.com/Artic ... asics.html
2. Или 90%, если размер файла с хешами 60МБ, а размер хешируемых файлов 30 КБ.

Добавлено: Вт мар 22, 2016 2:51 am
Max Diesel
В связи с чем заявлено увеличение вероятности от 0% аж до 90%? Были ли проведены какие-либо тесты, которые доказывают этот факт, произошла ли на практике утрата содержимого файла при факте что ни Unreal Commander не был завершен принудительно, ни операционная система не вылетела в синий экран? Если ничего этого не было, то ни о каких 90% речь идти не может, так как это просто ошибочные домыслы.

Re: Проблемы с подсчётом хешей большого количества файлов

Добавлено: Пн мар 29, 2021 8:29 pm
avmaksimov
Со вторым, конечно, можно поспорить, но дописывать всегда лучше, чем хранить в памяти и скидывать целиком буфер. И память оптимальнее расходуется, и диски меньше изнашиваются, да и процесс будет быстрее идти.

А насчёт того, что предполагается - ведь, нигде не написано какое-либо ограничение)).

Добавлено: Ср мар 31, 2021 10:28 am
Max Diesel
Уже давно используется дописывание, впрочем увеличение скорости если уж и заметно, то лишь на большом количестве очень мелких файлов.

Re:

Добавлено: Ср мар 31, 2021 11:43 am
avmaksimov
Max Diesel писал(а): Ср мар 31, 2021 10:28 am Уже давно используется дописывание, впрочем увеличение скорости если уж и заметно, то лишь на большом количестве очень мелких файлов.
Кстати, как раз и заметил. У меня как раз был такой случай. Хотел дополнительно проверить md5 всех своих фоток).

Благодарю за ответ и улучшения.