[FFmpeg-devel] [PATCH] tools: add benchmark for crypto functions.
Nicolas George
nicolas.george at normalesup.org
Fri Jul 26 16:39:30 CEST 2013
And for reference, here are the results I get on various hardware, and some
remarks.
First, lavu's implementations are never the fastest, but they are almost
never the slowest either, and always quite reasonable.
Second, there is something strange going on with lavu and gcrypt on AMD in
64 bits that is ruining AES speed.
Third, LibTomCrypt's AES is very good, it is the fastest in almost all
cases, usually by a significant margin compared to the two mainstream
libraries. There are probably optimizations to imitate.
(LibTomCrypt is a not well known nice little library; and it is Public
Domain.)
Regards,
--
Nicolas George
Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz (64 bits)
(crypt 1.0.1e, gcrypt 1.5.2, tomcrypt 1.17)
lavu MD5 size: 1048576 runs: 1024 time: 5.162 +- 0.019
crypto MD5 size: 1048576 runs: 1024 time: 5.083 +- 0.341
gcrypt MD5 size: 1048576 runs: 1024 time: 5.543 +- 0.028
tomcrypt MD5 size: 1048576 runs: 1024 time: 5.510 +- 0.021
lavu SHA-1 size: 1048576 runs: 1024 time: 7.011 +- 0.079
crypto SHA-1 size: 1048576 runs: 1024 time: 4.698 +- 0.221
gcrypt SHA-1 size: 1048576 runs: 1024 time: 10.282 +- 0.345
tomcrypt SHA-1 size: 1048576 runs: 1024 time: 8.604 +- 0.127
lavu SHA-224 size: 1048576 runs: 1024 time: 14.847 +- 0.582
crypto SHA-224 size: 1048576 runs: 1024 time: 12.871 +- 0.424
gcrypt SHA-224 size: 1048576 runs: 1024 time: 17.245 +- 0.782
tomcrypt SHA-224 size: 1048576 runs: 1024 time: 15.338 +- 0.172
lavu SHA-256 size: 1048576 runs: 1024 time: 14.810 +- 0.183
crypto SHA-256 size: 1048576 runs: 1024 time: 12.840 +- 0.271
gcrypt SHA-256 size: 1048576 runs: 1024 time: 17.172 +- 0.136
tomcrypt SHA-256 size: 1048576 runs: 1024 time: 15.328 +- 0.104
lavu AES-128 size: 1048576 runs: 1024 time: 26.601 +- 1.108
crypto AES-128 size: 1048576 runs: 1024 time: 25.172 +- 0.222
gcrypt AES-128 size: 1048576 runs: 1024 time: 24.207 +- 0.223
tomcrypt AES-128 size: 1048576 runs: 1024 time: 15.577 +- 0.178
Intel(R) Atom(TM) CPU D525 @ 1.80GHz (64 bits)
(crypt 1.0.1e, gcrypt 1.5.2, tomcrypt 1.17)
lavu MD5 size: 1048576 runs: 1024 time: 6.350 +- 0.282
crypto MD5 size: 1048576 runs: 1024 time: 5.697 +- 0.066
gcrypt MD5 size: 1048576 runs: 1024 time: 7.309 +- 0.022
tomcrypt MD5 size: 1048576 runs: 1024 time: 7.229 +- 0.035
lavu SHA-1 size: 1048576 runs: 1024 time: 16.395 +- 0.037
crypto SHA-1 size: 1048576 runs: 1024 time: 9.615 +- 0.037
gcrypt SHA-1 size: 1048576 runs: 1024 time: 18.169 +- 0.038
tomcrypt SHA-1 size: 1048576 runs: 1024 time: 17.021 +- 0.037
lavu SHA-224 size: 1048576 runs: 1024 time: 36.711 +- 0.062
crypto SHA-224 size: 1048576 runs: 1024 time: 24.585 +- 1.181
gcrypt SHA-224 size: 1048576 runs: 1024 time: 42.496 +- 0.212
tomcrypt SHA-224 size: 1048576 runs: 1024 time: 33.125 +- 0.180
lavu SHA-256 size: 1048576 runs: 1024 time: 37.133 +- 0.170
crypto SHA-256 size: 1048576 runs: 1024 time: 24.853 +- 0.196
gcrypt SHA-256 size: 1048576 runs: 1024 time: 42.516 +- 0.269
tomcrypt SHA-256 size: 1048576 runs: 1024 time: 33.121 +- 0.279
lavu AES-128 size: 1048576 runs: 1024 time: 60.123 +- 0.587
crypto AES-128 size: 1048576 runs: 1024 time: 68.416 +- 0.870
gcrypt AES-128 size: 1048576 runs: 1024 time: 75.074 +- 1.697
tomcrypt AES-128 size: 1048576 runs: 1024 time: 46.841 +- 0.827
Athlon(tm) Dual Core Processor 4050e (64 bits)
(crypt 0.9.8o, gcrypt 1.4.5, tomcrypt 1.17)
lavu MD5 size: 1048576 runs: 1024 time: 5.614 +- 0.018
crypto MD5 size: 1048576 runs: 1024 time: 5.297 +- 0.015
gcrypt MD5 size: 1048576 runs: 1024 time: 6.428 +- 0.028
tomcrypt MD5 size: 1048576 runs: 1024 time: 6.119 +- 0.016
lavu SHA-1 size: 1048576 runs: 1024 time: 9.831 +- 0.015
crypto SHA-1 size: 1048576 runs: 1024 time: 6.882 +- 0.014
gcrypt SHA-1 size: 1048576 runs: 1024 time: 9.971 +- 0.030
tomcrypt SHA-1 size: 1048576 runs: 1024 time: 10.752 +- 0.030
lavu SHA-224 size: 1048576 runs: 1024 time: 19.934 +- 0.037
crypto SHA-224 size: 1048576 runs: 1024 time: 15.833 +- 0.030
gcrypt SHA-224 size: 1048576 runs: 1024 time: 22.979 +- 0.034
tomcrypt SHA-224 size: 1048576 runs: 1024 time: 20.690 +- 0.037
lavu SHA-256 size: 1048576 runs: 1024 time: 19.934 +- 0.042
crypto SHA-256 size: 1048576 runs: 1024 time: 15.837 +- 0.100
gcrypt SHA-256 size: 1048576 runs: 1024 time: 22.981 +- 0.041
tomcrypt SHA-256 size: 1048576 runs: 1024 time: 20.689 +- 0.028
lavu AES-128 size: 1048576 runs: 1024 time: 48.675 +- 0.060
crypto AES-128 size: 1048576 runs: 1024 time: 15.922 +- 0.452
gcrypt AES-128 size: 1048576 runs: 1024 time: 54.384 +- 0.065
tomcrypt AES-128 size: 1048576 runs: 1024 time: 17.258 +- 0.032
AMD Athlon(tm) II X2 250 Processor (32 bits)
(crypt 1.0.1e, gcrypt 1.5.0, tomcrypt 1.17)
lavu MD5 size: 1048576 runs: 1024 time: 5.162 +- 0.019
crypto MD5 size: 1048576 runs: 1024 time: 5.083 +- 0.341
gcrypt MD5 size: 1048576 runs: 1024 time: 5.543 +- 0.028
tomcrypt MD5 size: 1048576 runs: 1024 time: 5.510 +- 0.021
lavu SHA-1 size: 1048576 runs: 1024 time: 7.011 +- 0.079
crypto SHA-1 size: 1048576 runs: 1024 time: 4.698 +- 0.221
gcrypt SHA-1 size: 1048576 runs: 1024 time: 10.282 +- 0.345
tomcrypt SHA-1 size: 1048576 runs: 1024 time: 8.604 +- 0.127
lavu SHA-224 size: 1048576 runs: 1024 time: 14.847 +- 0.582
crypto SHA-224 size: 1048576 runs: 1024 time: 12.871 +- 0.424
gcrypt SHA-224 size: 1048576 runs: 1024 time: 17.245 +- 0.782
tomcrypt SHA-224 size: 1048576 runs: 1024 time: 15.338 +- 0.172
lavu SHA-256 size: 1048576 runs: 1024 time: 14.810 +- 0.183
crypto SHA-256 size: 1048576 runs: 1024 time: 12.840 +- 0.271
gcrypt SHA-256 size: 1048576 runs: 1024 time: 17.172 +- 0.136
tomcrypt SHA-256 size: 1048576 runs: 1024 time: 15.328 +- 0.104
lavu AES-128 size: 1048576 runs: 1024 time: 26.601 +- 1.108
crypto AES-128 size: 1048576 runs: 1024 time: 25.172 +- 0.222
gcrypt AES-128 size: 1048576 runs: 1024 time: 24.207 +- 0.223
tomcrypt AES-128 size: 1048576 runs: 1024 time: 15.577 +- 0.178
Intel(R) Atom(TM) CPU N270 @ 1.60GHz (32 bits)
(crypt 0.9.8o, gcrypt 1.4.5, tomcrypt 1.17)
lavu MD5 size: 1048576 runs: 1024 time: 9.241 +- 0.053
crypto MD5 size: 1048576 runs: 1024 time: 6.226 +- 0.043
gcrypt MD5 size: 1048576 runs: 1024 time: 12.582 +- 0.058
tomcrypt MD5 size: 1048576 runs: 1024 time: 12.479 +- 0.069
lavu SHA-1 size: 1048576 runs: 1024 time: 22.875 +- 0.864
crypto SHA-1 size: 1048576 runs: 1024 time: 14.440 +- 0.065
gcrypt SHA-1 size: 1048576 runs: 1024 time: 31.756 +- 0.081
tomcrypt SHA-1 size: 1048576 runs: 1024 time: 22.933 +- 0.076
lavu SHA-224 size: 1048576 runs: 1024 time: 48.577 +- 1.559
crypto SHA-224 size: 1048576 runs: 1024 time: 62.749 +- 1.733
gcrypt SHA-224 size: 1048576 runs: 1024 time: 72.942 +- 0.080
tomcrypt SHA-224 size: 1048576 runs: 1024 time: 45.990 +- 1.923
lavu SHA-256 size: 1048576 runs: 1024 time: 48.576 +- 1.603
crypto SHA-256 size: 1048576 runs: 1024 time: 62.633 +- 0.085
gcrypt SHA-256 size: 1048576 runs: 1024 time: 73.045 +- 1.654
tomcrypt SHA-256 size: 1048576 runs: 1024 time: 45.987 +- 1.912
lavu AES-128 size: 1048576 runs: 1024 time: 63.106 +- 0.089
crypto AES-128 size: 1048576 runs: 1024 time: 63.368 +- 0.921
gcrypt AES-128 size: 1048576 runs: 1024 time: 98.668 +- 1.535
tomcrypt AES-128 size: 1048576 runs: 1024 time: 52.848 +- 1.290
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130726/4446305a/attachment.asc>
More information about the ffmpeg-devel
mailing list