Комментарии 4
А что мешает просто разбить файл на число равных частей заведомо превышающее числу ядер (64?), параллельно вычислить хеш для каждой из них, соединить хеши и вычислить хеш для них? хеш-функция может быть любой.
+1
Придумать, как считать хеш деревом в много потоков особого ума не надо (у некоторых при этом ещё и неограниченная память получается, O(log n)). А вот придумать криптостойкий и при этом реально быстрый (скажем, быстрее чем MD5) однопоточный хеш -- надо постараться. Насколько я знаю, если не считать расширение команд типа SHA-NI, быстрее MD5 в 1 поток, так ничего и не придумали, притом что у MD5 бооольшие проблемы с collision resistance (которой у него нет).
Есть ли в этом направлении какие-то разработки, интересно?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Обзор параллельных режимов работы хэш-функций