Можно ли разбить md5 на несколько ядер/потоков?

При вычислении суммы md5 больших файлов я вижу, как одно ядро ​​​​процессора переходит на 100%, сколько бы времени это ни заняло, оставляя все остальные ядра бездействующими.

Мое рудиментарное понимание md5 заключается в том, что весь процесс полностью линейный, где значения зависят от всех предыдущих считанных значений, и мы ничего не можем сделать, чтобы сделать его многопоточным -. Это правда?

Или есть способ разбить файлы на разделы, вычислить по нескольким частям, используя несколько ядер -, а затем объединить эти значения в окончательный md5 ?

Библиотека, которую мы используем для вычисления md5sum:http://libmd5-rfc.sourceforge.net/но я бы переключился на другой, если бы можно было разбить md5sum на несколько ядер, чтобы он выполнялся быстрее.

(Примечание :переход на что-то другое, кроме md5, не является вопросом и не может быть выполнен из-за других закрытых систем, с которыми он взаимодействует. И это не вопрос безопасности использования md5.)

11
задан Stéphane 23 May 2012 в 19:09
поделиться