Во сколько раз вычислительная сложность алгоритма MD5 выше по сравнению с алгоритмом CRC32?
Во много!
Сами посудите, в CRC32 используется только модульная арифметика и сдвиговые операции в 32х битном регистре. Для того же MD5 тоже используются простые операции, но это происходит в четырёх 32х битных регистрах, в 32х циклах. Так что 4 * 32 = 128. Именно во столько раз MD5 медленнее CRC32.
И это только на вскидку, так как всех деталей реализации одного и другого алгоритма я не помню.
В статье Hash Functions all the way down приводится сравнение функций хеширования с графиком.Мне нужно понять есть ли смысл MD5 заменить на CRC32 и каков будет выигрыш в производительности?
Я сомневаюсь что именно вычисление MD5 является виновником замедления. Причину нужно искать в другом месте.
Используйте профилирование кода, обращений к СУБД и операции ввода/вывода.
Там еще очень возможна неэффективная работа с памятью из-за работы с фотографиями.