При вычислении суммы md5 больших файлов я вижу, как одно ядро процессора переходит на 100%, сколько бы времени это ни заняло, оставляя все остальные ядра бездействующими.
Мое рудиментарное понимание md5 заключается в том, что весь процесс полностью линейный, где значения зависят от всех предыдущих считанных значений, и мы ничего не можем сделать, чтобы сделать его многопоточным -. Это правда?
Или есть способ разбить файлы на разделы, вычислить по нескольким частям, используя несколько ядер -, а затем объединить эти значения в окончательный md5 ?
Библиотека, которую мы используем для вычисления md5sum:http://libmd5-rfc.sourceforge.net/но я бы переключился на другой, если бы можно было разбить md5sum на несколько ядер, чтобы он выполнялся быстрее.
(Примечание :переход на что-то другое, кроме md5, не является вопросом и не может быть выполнен из-за других закрытых систем, с которыми он взаимодействует. И это не вопрос безопасности использования md5.)