I'm faced with performance issue after switching to new IPP 8.2 libraries. I have tested methods of calculating MD5, SHA256 hash and saw that new implementation ippsHashMessage working much more slower than old implementation ippsMD5MessageDigest, ippsSHA256MessageDigest (IPP 7.0.6). Could you please clarify me if this is known issue? And what I can do with this? I'm really don't want downgrade IPP to 7.0.6 version.
Igor thanks for reply,
I should say that performance is really slower with IPP 8.2.1. Please find below performance test results for processing data with using libraries 7.0.6 and 8.2.1. In my code I use methods: ippsEncodeLZO_8u, ippsRijndael128EncryptCBC, ippsMD5MessageDigest, ippsSHA256MessageDigest etc. Performance checked with multithreaded versions of IPP on Win x64 platform.
Process data IPP 7.0.6 (Compress: False, Encrypt: False) 154 MB/sec.
Process data IPP 8.2.1 (Compress: False, Encrypt: False) 143 MB/sec.
Process data IPP 7.0.6 (Compress: True, Encrypt: True) 77 MB/sec.
Process data IPP 8.2.1 (Compress: True, Encrypt: True) 5 MB/sec.
Chao is right - something is wrong with your application (15x performance drop) - could you share your performance measurement code? IPP provides PS (performance system) for each IPP release - you can check any function you need, I've obtained the next results:
IPP8.2.1 IPP8.2 IPP7.1
ippsMD5MessageDigest 5.46 5.56 4.49
ippsSHA1MessageDigest 4.88 5.13 4.08
ippsSHA256MessageDigest 10.8 13 10.3
ippsSHA512MessageDigest 8.25 10.2 8.26
(HSW, win64, clocks per byte, the lower - the better, vector length=1K)
Igor: What is the "Performance System" (PS) that you mention? I can't find any information about it in the documentation.
I am trying to decide upon which hashing algorithm to choose -- is there a table somewhere with the relative performance comparisons for all hashing algorithms available?