Вот так запускать тесты:
Беглый анализ кода OpenSSL (1.0.2.beta2) дает такие вот хитрые ответы:
for i in md4 md5 sha1 sha256 sha512; do openssl speed $i 2>&1|egrep -v '(Doing|OpenSSL|built|options|compiler)';doneВот такие результаты вышли у меня (OpenSSL 1.0.1e-fips 11 Feb 2013, CentOS 6):
The 'numbers' are in 1000s of bytes per second processed.Почему такие странности? Ой, а какие странности? Например, то, что SHA1 быстрее чем md5, что довольно неожиданно.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md4 68566.14k 173477.65k 515525.95k 677865.49k 931820.76k
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md5 40919.27k 133902.74k 332599.15k 487704.31k 560110.13k
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
sha1 53991.04k 156746.65k 345242.72k 502931.07k 572807.73k
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
sha256 35243.93k 91730.62k 165080.62k 193792.86k 213022.14k
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
sha512 33810.13k 135413.99k 174028.97k 296263.47k 345636.64k
Беглый анализ кода OpenSSL (1.0.2.beta2) дает такие вот хитрые ответы:
- md-4 написан исключительно на C.
- md-5 использует ассемблерные оптимизации для 86_64, i586, но НЕ использует SIMD инструкции SSE.
- sha-1 использует ассемблерные оптимизации под почти все популярные архитектуры. Кроме этого, имеет оптимизации на SSE3, Intel AVX, а также на Intel SHA Extensions.
- sha-256 использует ассемблерные оптимизации и немного SIMD инструкций, но без особого фанатизма, судя по коду.
- А вот sha-512 также очень тщательно оптимизирован по аналогии с sha-1.
No comments :
Post a Comment
Note: only a member of this blog may post a comment.