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]