Integrity Checker — работа с хеш-суммами выделенных файлов

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Ariman »

Анонс

Хотелки от пользователей:
  • работа с плагиновыми панелями, на которых реальные файлы
  • сравнить хэш с содержимым клипборда
  • возможность использовать upper case для шестнадцатеричного вывода
  • поддержка выбора кодировки для файлов хеш-листов
  • опция 1 хеш файл на 1 каталог
  • генерация одновременно нескольких хешей для файла
  • возможность сравнить вновь вычисленный хэш с предыдущим
  • запуск генератора через префикс
  • сохранение в лог ошибок при генерации
  • добавить поддержку ed2k хешей
Для желающих тестировать последние изменения, актуальные бинарники можно взять здесь. (Уже нельзя)
Last edited by Ariman on Tue 04 May, 2021 08:01, edited 14 times in total.
User avatar
Alexander84
Posts: 147
Joined: Fri 01 May, 2009 06:38
Has thanked: 16 times
Been thanked: 2 times

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Alexander84 »

Latest post of the previous page:

Ограничения это прекрасно, мобилизуют и дисциплинируют. Скажем, HDD объёмом 1 Гб и скорость подключения к сети 33.6 Кбит/с в 90-е заложили привычки хранить без бардака и качать по делу. Отсюда и пожелание видеть в плагине алгоритм xxHash, ибо хотя при обсчёте файлов он и упрётся в скорость чтения диска наравне с криптохэшами типа SHA1 или BLAKE2SP, но, как и CRC32, загрузит процессор на порядок меньше (1-4% против 30-50% на двухядерной системе), оставляя ресурсы другим приложениям и экономя электроэнергию.

Итак, как упростить для восприятия окно операции Integrity Checker? Сперва зафиксируем окно по ширине, сделаем выравнивание по левому краю, а затем критически оценим необходимость каждого динамического элемента. Например, нужно ли выводить полный путь до хэшируемого файла? Нет, как и в случае копирования/архивирования, достаточно [начало пути ... конец названия файла.расширение]. Как часто следует обновлять индикаторы, т.е. зачем эта беготня от 0% до 100%, если файл считается секунду (см. опять же копирование)? Возможно, стоит добавить прогрессбар, дабы иметь приблизительное представление о состоянии вычисления хэша, которое на удивление нагляднее, чем куча чисел («так, уже посчиталось 1234 файла из 123456, что есть x%, а это четверть, треть, чай успею попить?»).
Мегамонстр
Posts: 73
Joined: Fri 24 Aug, 2012 15:24
Been thanked: 1 time

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Мегамонстр »

Я покопался в исходниках и не нашёл, использует ли плагин многопоточность. Использует ли плагин многопоточность? Было бы удобно использовать простаивающие 11 ядер.

3аодно сообщу, что присоединяюсь к замечаниям Alexander84.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Ariman »

HaRT wrote:Можно было бы просто никогда не уменьшать ширину окна. Ну или уменьшать не сразу и/или только до некоего среднего значения по уже обработанным.
На куче мелких файлов всё равно плясать ширина будет. Тут только если фиксировать ширину окна, как тот же копир в Фаре работает. Но тут уже вопрос как подобрать ширину оптимально.
Alexander84 wrote:Как часто следует обновлять индикаторы, т.е. зачем эта беготня от 0% до 100%, если файл считается секунду (см. опять же копирование)?
Вот тут не понял смысл. А если файл не секунду считается? Маленькие файлы пролетают от 0 до 100 за 1-2 шага.
Alexander84 wrote:Возможно, стоит добавить прогрессбар, дабы иметь приблизительное представление о состоянии вычисления хэша, которое на удивление нагляднее, чем куча чисел («так, уже посчиталось 1234 файла из 123456, что есть x%, а это четверть, треть, чай успею попить?»).
Не вижу разницы между рисованием прогресс бара и выводом числа по информативности. Это больше вопрос визуальных предпочтений.
Мегамонстр wrote:Использует ли плагин многопоточность? Было бы удобно использовать простаивающие 11 ядер.
Нет, не использует. Не рентабельно морочиться с многопоточностью, всё равно основная нагрузка на диск идет, а не на проц.
User avatar
Alexander84
Posts: 147
Joined: Fri 01 May, 2009 06:38
Has thanked: 16 times
Been thanked: 2 times

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Alexander84 »

Ariman wrote: Вот тут не понял смысл. А если файл не секунду считается? Маленькие файлы пролетают от 0 до 100 за 1-2 шага.
Задача снизить мельтешение в окне операции (напомню скринкаст, 1 Мб). Нам достаточно знать, что процесс идёт и приблизительно представлять далеко ли до завершения. Поэтому если за интервал обновления (условно за секунду) посчиталось несколько файлов, то необязательно успеть вывести имя и процент завершённости каждого из них — достаточно вывести текущий файл на момент обновления.
User avatar
Alexander84
Posts: 147
Joined: Fri 01 May, 2009 06:38
Has thanked: 16 times
Been thanked: 2 times

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Alexander84 »

Ariman wrote: Не вижу разницы между рисованием прогресс бара и выводом числа по информативности. Это больше вопрос визуальных предпочтений.
Это из нейропсихологии. Мозг сперва наловчился использовать приблизительные данные — например, настораживаться из-за шороха в кустах или тени за углом. Потребность в уточнении данных для принятия решения возникла гораздо позже. Вот и сегодня мы зачастую пропускаем таблицы, предпочитая графики, где опять же особо не вглядываемся в деления осей абсцисс и ординат, а ищем название линии-победителя.

Image
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by zg »

Ariman wrote:Нет, не использует. Не рентабельно морочиться с многопоточностью, всё равно основная нагрузка на диск идет, а не на проц.
ntfs file information использует многопоточность. можно сравнить.
Мегамонстр
Posts: 73
Joined: Fri 24 Aug, 2012 15:24
Been thanked: 1 time

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Мегамонстр »

Alexander84 wrote: Не рентабельно морочиться с многопоточностью, всё равно основная нагрузка на диск идет, а не на проц.
Даже с использованием твёрдотельника? Имеется ввиду не многопоточный расчёт суммы, а многопоточная обработка файлов, например, одно ядро считает сумму одного файла, другое ядро считает сумму другого файла и т.п.

Кроме того, файлы могут располагаться на разных дисках, что часто бывает при сравнении (они могут передаваться в плагин через временную панель).
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Ariman »

Мегамонстр wrote:Даже с использованием твёрдотельника?
Не знаю, может быть. Если мне кто-нибудь подарит ssd, то можно проверить на практике :).
Мегамонстр
Posts: 73
Joined: Fri 24 Aug, 2012 15:24
Been thanked: 1 time

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Мегамонстр »

Я вычислил хеш образа Убунты на HDD ST1000DM003 и SSD OCZ Agility 3. На первом время составило 16 секунд, на втором ― 7 секунд. Суммарно на расчёт образов у меня ушло 16+7+X секунд, если бы в плагине была реализована многопоточность, но потратил бы 16 секунд.
Мегамонстр
Posts: 73
Joined: Fri 24 Aug, 2012 15:24
Been thanked: 1 time

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Мегамонстр »

Стоит отметить, что SSD подключён на скорости 200 Мб/с вместо обычных 400 Мб/с. Но пост был про то, что если файлы находятся на разных разделах, что часто бывает при копировании, многопоточной обработкой можно было бы здорово сократить время.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Ariman »

Оно то всё так, может время и сократится. Но затрат на разработку и отладку многопоточки это не оправдывает. Хеширование с разных дисков это совсем не регулярная задача, чтобы стоил ради неё морочиться.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by John Doe »

2.4.3

Generate Hashes/[x] Use filter разблокирует не соответствующую кнопку, а разделительную черту.

F1 приводит к выводу ошибки
Если как я понимаю файлов помощи заведомо нет, то неясно зачем обрабатывать F1
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Ariman »

John Doe wrote:разблокирует не соответствующую кнопку, а разделительную черту.
Ага, есть такое. Спасибо, исправлю.
John Doe wrote:Если как я понимаю файлов помощи заведомо нет, то неясно зачем обрабатывать F1
Ну тут обработка заключается только в выставлении имени топика в функции создания диалога. :)
Изначально была мысль создать файлы помощи, но потом пришла лень, и процесс дальше не пошел. А параметры вызова остались в прежнем виде.
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Dennis_Moore »

На Plugring'e x64 версия для FAR2 осталась прежней (2.4.3.0), а x86 версия последняя (2.5.1.0). Просба к Ariman'у перезалить.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Ariman »

Это так и задумано было. :)
Я вообще собирался забросить версию под Far 2. Но, оказывается, есть ещё любители ретро, как ни странно. Был запрос на версию х86, я её добавил. Если версия х64 нужна, то могу собрать.
Last edited by Ariman on Wed 10 May, 2017 09:20, edited 1 time in total.
User avatar
Dennis_Moore
Posts: 295
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

Integrity Checker — работа с хеш-суммами выделенных файлов

Post by Dennis_Moore »

Ariman wrote: Это так и задумано было. :)
Я вообще собирался забросить версия под Far 2. Но, оказывается, есть ещё любители ретро, как ни странно. Был запрос на версию х86, я её добавил. Если версия х64 нужна, то могу собрать.
Мне x64 для FAR2 не нужна, просто показалось что вы недоглядели или сбой на плагринге, а FAR2 x86 использую на компьютерах с W2k т.ч. в x86 версии есть необходимость. И спасибо за плагин!
Post Reply

Return to “Обсуждение плагинов”