> Below is the performance results built with -mcpu=power7.  The positive
> number shows performance improvements percentage after the branch hint
> is removed.  The performance test used "openssl speed" then calculate
> the percentage using the results from the branch hint removed and the
> results from the base (with branch hint).
> 
> Percentage=(withoutHint/withHint) * 100 - 100
> 
> sha512 shows 32% performance improvements.  sha256, sha1, md4, and md5
> also benefit from this change. There are some negative numbers but they
> are very small (less than 1%).
> 
> type         16bytes   64bytes   256bytes   1024bytes   8192bytes
> sha1         7.29      6.46      4.35       2.21        0.42
> sha256       18.35     10.99     5.05       1.64        0.24
> sha512       31.85     32.08     13.72      4.95        0.67
> ...
> 
> Please let me know if you have any questions.

I wonder how is it even possible? I mean improvement coefficient should
be higher for faster algorithms, while what we see is reverse:
improvement is higher for slower algorithms. Specifically for sha1 and
sha256 overhead is exactly same, while sha256 is significantly slower
than sha1, and then share of "inefficiency" is lower, which in turn
should result in lower improvement coefficient...

There are several other places where bdnz is used with hint, what effect
would dropping hint have there? I assume you run on Linux, and on Linux
it's actually possible to drop hint "universally", i.e. without looking
for bdnz and modifying all occurrences. In other words such experiment
would be easy to conduct. To do so open crypto/perlasm/ppc-xlate.pl in
text editor, locate $bdnz, then $bo and replace 16+9 with 16. It's not
"official solution", just a way to conduct experiment...



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to