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

Нашли баг? Воспользуйтесь поиском чтобы убедиться что его не нашли до вас и если он не упоминается добавьте его описание (желательно пошаговое).
Обязательно прочитайте чем для автора программы отличаются баги, недоработки и фичи.

Модератор: motyara

Ответить
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

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

Сообщение Qwertiy » Пн мар 14, 2016 12:56 pm

Собственно, две проблемы.

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

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

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3131
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Вт мар 15, 2016 4:58 am

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

Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy » Пн мар 21, 2016 2:17 am

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

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3131
Зарегистрирован: Пт окт 12, 2007 9:00 pm
Контактная информация:

Сообщение Max Diesel » Вт мар 22, 2016 2:51 am

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

Ответить