Add more POWER8 optimizations
Bug #1444241 reported by
Mauricio Faria de Oliveira
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openssl (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
There are some upstream commits that introduce optimizations with significant performance improvement for IBM POWER8.
This patch introduces their minimal bits/changes in the source package.
To post a comment you must log in.
Here is the comparison / benchmarking of:
1) current package
2) current package + attached debdiff
3) upstream code
It shows that:
1) performance of current package improves a *lot* with the attached debdiff;
2) performance of current package + attached debdiff is equal to the upstream's.
$ openssl speed -evp aes-128-gcm ------- ------- ------- ----
-------
1) current package
$ openssl speed -evp aes-128-gcm
<...>
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-gcm 80062.35k 87264.06k 89732.78k 90357.90k 90450.60k
2) current package + attached debdiff
$ openssl speed -evp aes-128-gcm
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-gcm 244362.49k 558183.91k 1240341.76k 1534709.55k 1625676.37k
speedup:
- 16 bytes: 3x
- 64 bytes: 6.4x
- 256 bytes: 13.8x
- 1024 bytes: 17x
- 8192 bytes: 18x
3) upstream code
$ LD_LIBRARY_ PATH=/usr/ local/ssl/ lib/ /usr/local/ ssl/bin/ openssl speed -evp aes-128-gcm
<...>
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-gcm 244700.26k 562547.05k 1243287.37k 1535474.69k 1620669.78k
(same as #2)
$ openssl speed -evp aes-128-ctr ------- ------- ------- ----
-------
1) current package
$ openssl speed -evp aes-128-ctr
<...>
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-ctr 144150.81k 154729.39k 157233.48k 158093.92k 157728.99k
2) current package + attached debdiff
$ openssl speed -evp aes-128-ctr
<...>
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-ctr 345134.48k 842190.28k 2709975.21k 4183632.82k 4959908.05k
speedup:
- 16 bytes: 2.4x
- 64 bytes: 5.4x
- 256 bytes: 17.2x
- 1024 bytes: 26.4x
- 8192 bytes: 31.4x
3) upstream code
$ LD_LIBRARY_ PATH=/usr/ local/ssl/ lib/ /usr/local/ ssl/bin/ openssl speed -evp aes-128-ctr
<...>
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-128-ctr 345758.55k 839220.54k 2694016.68k 4168019.39k 4974437.20k
(same as #2)