Какой бы быстрый хеш не был, всё упирается в чтение файлов с винта. Это самая медленная часть, на фоне которой прирост будет не заметен. Ради сомнительного прироста смешивать библиотеки в плагине не буду, возни много.
Ariman нисколько не пытаясь возразить, замечу, что если хеш того стоит, то можно было начать с того, что внедрить его в используемую библиотеку, после чего он автоматически станет доступен в плагине.
Логично, конечно. Но у либы есть автор, пусть этим и занимается, если захочет. Да и опять же, не вижу я ничего интересного в этом хеше, применительно к плагину. Оптимизация ради оптимизации это бестолковое занятие.
Смею возразить уважаемым ораторам, что кроме винчестеров есть твёрдотельники и виртуальные диски. Скорость чтения с них весьма высока по сравнению с винчестером и упирается в быстроту процессора или оперативной памяти.
С RAM диска может и упрётся в процессор, но с SSD вряд ли. Если хешить много файлов, то скорости на SSD не такие уж и большие.
Если так уж хочется этот хеш, то пиши автору либы. Если добавит, то я себе могу внедрить.
Очень хотелось бы более простого доступа к режиму "посчитать хэш выделенного файла и вывести на экран".
Сейчас для этого надо: F11 I G Alt+D Enter
Я понимаю, что можно было бы сделать макрос. Но его ещё надо будет запомнить.
Может быть, можно было бы назначить плагину несколько префиксов и использовать что-то вроде md5:file.txt или sha1:file.txt ? Или Far такого не позволяет?
Также можно было бы выделить отдельный пункт Calculate Hash из Generate Hashes.
Первый бы тогда просто спрашивал тип хэша (без всяких Output to). Или даже не спрашивал, а просто считал тот, что задан по-умолчанию.
А во втором, соответственно, убрать опцию Display.
Рассмотрите, пожалуйста, ещё возможность генерировать сразу несколько типов хэшей в Generate Hashes. Например, дистрибутивы часто выкладываются с файлами MD5 и SHA1.
Также хотелось бы иметь возможность использовать upper case для шестнадцатеричного вывода (E8D6... vs e8d6...).
sabio wrote:Я понимаю, что можно было бы сделать макрос. Но его ещё надо будет запомнить.
Не очень мощный аргумент для усложнения интерфейса.
sabio wrote:Рассмотрите, пожалуйста, ещё возможность генерировать сразу несколько типов хэшей в Generate Hashes. Например, дистрибутивы часто выкладываются с файлами MD5 и SHA1.
В списке хотелок (в первом посте) уже есть.
sabio wrote:Также хотелось бы иметь возможность использовать upper case для шестнадцатеричного вывода (E8D6... vs e8d6...).
Ariman wrote: Не очень мощный аргумент для усложнения интерфейса.
Если хэши нужны не часто (как в моём случае), то хоткей точно в голове не удержится.
Да и "усложнение интерфейса" там субъективное.
На мой взгляд, два отдельных пункта меню Calculate Hash / Generate Hash File(s) даже проще, чем необходимость выбирать, "куда" генерировать хэши.
sabio wrote:Да и "усложнение интерфейса" там субъективное.На мой взгляд, два отдельных пункта меню Calculate Hash / Generate Hash File(s) даже проще, чем необходимость выбирать, "куда" генерировать хэши.
Плагин может долго и нудно вычислять хэши, перебирая рекурсивно папки, но если недостаточно прав для записи в текущую директорию, то в результате мы не получим ничего (даже сообщения об ошибке).
John Doe wrote:Плагин может долго и нудно вычислять хэши, перебирая рекурсивно папки, но если недостаточно прав для записи в текущую директорию, то в результате мы не получим ничего (даже сообщения об ошибке).
Добавил проверку на возможность писать файл до начала вычислений. Ну и сообщение об ошибке в конце тоже вставил, если не смогло сохранить, на всякий случай.
В начале смысла нет, там можно просто поправить путь на нужный. Диалог параметров выскочит вновь.
А вот в конце вычислений имеет смысл, попробую сделать что-нибудь подобное.