Hi,

These are the performance results for the little-endian for all the
affected algorithms and also MD5 and DES, which can be used as
reference.

All data was collected using VMs with the same spec (1 core and 1GB of
ram) and using linux kernel 3.10.9 and GCC 4.8.

All 'numbers' are in 1000s of bytes per second processed as in the
openssl speed output.

Andy, do you think the changes in the config scripts can already be
committed?

./apps/openssl speed md5

    16 bytes  64 bytes   256 bytes  1024 bytes  8192 bytes
BE  59047.41  142751.90  258274.92  332408.39   367594.97
LE  57559.75  138495.24  254294.70  330292.29   366791.14
    -2.52%    -2.98%     -1.54%     -0.64%      -0.22%

./apps/openssl speed des-cbc

    16 bytes  64 bytes   256 bytes  1024 bytes  8192 bytes
BE  47097.30  49143.02   49693.79   49773.39    49530.11
LE  46917.63  49162.10   49686.50   49790.50    49514.70
    -0.38%    0.04%      -0.01%     0.03%       -0.03%

./apps/openssl speed sha1        
    16 bytes  64 bytes   256 bytes  1024 bytes  8192 bytes
BE  70434.57  178708.89  334978.48  426465.86   464743.08
LE  64074.04  166277.39  316533.21  413926.83   455047.79
    -9.03%    -6.96%     -5.51%     -2.94%      -2.09%

./apps/openssl speed sha256

    16 bytes  64 bytes   256 bytes  1024 bytes  8192 bytes
BE  45790.30  104899.22  182068.69  226925.55   244446.66
LE  43880.69  101641.56  178440.07  223089.31   240688.75
    -4.17%    -3.11%     -1.99%     -1.69%      -1.54%

./apps/openssl speed sha512

    16 bytes  64 bytes   256 bytes  1024 bytes  8192 bytes
BE  35468.20  142295.04  229592.91  330404.01   381860.67
LE  33601.97  127344.08  217872.32  316599.61   366512.58
    -5.26%    -10.51%    -5.10%     -4.18%      -4.02%

./apps/openssl speed aes-128-cbc

    16 bytes  64 bytes   256 bytes  1024 bytes  8192 bytes
BE  96788.67  99488.41   101488.80  102031.22   102120.06
LE  92126.28  95737.67   97553.54   98074.63    98323.63
    -4.82%    -3.77%     -3.88%     -3.88%      -3.72%

./apps/openssl speed aes-192-cbc

    16 bytes  64 bytes   256 bytes  1024 bytes  8192 bytes
BE  82645.45  84214.35   85659.62   86102.57    86151.40
LE  78870.94  81443.95   82994.73   83230.04    83307.34
    -4.57%    -3.29%     -3.11%     -3.34%      -3.30%

./apps/openssl speed aes-256-cbc

    16 bytes  64 bytes   256 bytes  1024 bytes  8192 bytes
BE  71826.81  72999.86   74020.17   74315.70    74370.58
LE  68943.26  71034.06   72069.57   72309.84    72398.61
    -4.01%    -2.69%     -2.64%     -2.70%      -2.65%


Regards,
Marcelo

On Thu, Oct 31, 2013 at 04:48:04PM -0200, Marcelo Cerri wrote:
> Hi Andy,
> 
> Thanks for your changes, they are working fine. I'm setting up a
> little-endian and a big-endian system that I'll use to test and compare
> performance results. As soon as I finish I'll post them here.
> 
> The only thing that I had to change was a typo in SHA-512:
> 
> diff --git a/crypto/sha/asm/sha512-ppc.pl b/crypto/sha/asm/sha512-ppc.pl
> index 0648655..d6a86c7 100755
> --- a/crypto/sha/asm/sha512-ppc.pl
> +++ b/crypto/sha/asm/sha512-ppc.pl
> @@ -383,7 +383,7 @@ $code.=<<___ if ($SZ==8 && $LITTLE_ENDIAN);
>         rlwimi  $t0,$a0,24,0,7
>          rlwimi @X[$i],$a1,24,0,7
>         rlwimi  $t0,$a0,24,16,23
> -        rlwimi @X[$i],$a1,25,16,23
> +        rlwimi @X[$i],$a1,24,16,23
>         insrdi  @X[$i],$t0,32,0
>  ___
>         &ROUND_00_15($i,@V);
> 
> 
> Best regards,
> Marcelo
> 
> On Thu, Oct 31, 2013 at 11:12:50AM +0100, Andy Polyakov wrote:
> > Hi,
> > 
> > >This series of patches creates a new target for ppc64le and updates the
> > >current assembly code for ppc64 in order to use the correct byte-order
> > >when need.
> > >
> > >Different approaches where tested to byte swap bytes, including the use
> > >of instructions such as lwbrw, but the current version performed 5%
> > >faster than the others.
> > 
> > Thanks. Feedback is provided in separate messages. As for workflow.
> > Configure will be patched last after we resolve all the issues, so
> > bear with me.
> > ______________________________________________________________________
> > OpenSSL Project                                 http://www.openssl.org
> > Development Mailing List                       [email protected]
> > Automated List Manager                           [email protected]
> > 
> 
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> Development Mailing List                       [email protected]
> Automated List Manager                           [email protected]
> 

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

Reply via email to