openwrt/package/libs
Daniel Engberg dca96b7546 openssl: Add optimization option
Add option to optimize for speed instead of size

cmd: openssl speed md5 sha1 sha256 sha512 des des-ede3 aes-128-cbc \
aes-192-cbc aes-256-cbc rsa2048 dsa2048

=== Linksys WRT3200ACM ===

Default optimization:
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5              14111.49k    47147.75k   123375.02k   206937.09k   258828.97k
sha1             14495.71k    46763.99k   116679.94k   188115.29k   228294.66k
des cbc          22315.63k    23118.98k    23323.14k    23348.22k    23363.58k
des ede3          8085.97k     8217.26k     8255.74k     8266.41k     8273.92k
aes-128 cbc      48740.10k    52606.12k    54224.98k    56263.68k    54774.44k
aes-192 cbc      43410.83k    47325.31k    48994.05k    49377.96k    48532.14k
aes-256 cbc      39132.46k    42512.60k    43692.63k    43997.18k    44070.23k
sha256           19987.80k    47314.69k    86119.08k   109352.28k   119466.67k
sha512            8034.63k    32321.92k    47495.94k    65777.32k    74080.26k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.020387s 0.000528s     49.1   1892.2
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.005920s 0.006396s    168.9    156.3

Optimize for speed (-O3 instead of -Os and disable -DOPENSSL_SMALL_FOOTPRINT):
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5              14655.49k    48561.79k   126953.56k   210741.93k   262430.72k
sha1             14607.90k    47032.15k   117725.87k   188226.22k   228499.46k
des cbc          28041.11k    29586.84k    29939.80k    30047.91k    30067.37k
des ede3         10697.93k    10899.75k    10956.97k    10972.84k    10980.01k
aes-128 cbc      58852.70k    65956.07k    68675.67k    69388.29k    69607.42k
aes-192 cbc      50299.73k    56501.23k    58491.65k    59008.00k    59159.89k
aes-256 cbc      44684.38k    47944.36k    49098.67k    49573.89k    49463.30k
sha256           19673.53k    47248.58k    86775.04k   110053.72k   119382.02k
sha512            8029.67k    32033.02k    47440.04k    65740.12k    74072.06k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.019666s 0.000529s     50.8   1892.0
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.005882s 0.006450s    170.0    155.0

=== D-Link DIR-860L (B1) ===
Default optimization:
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5               3376.97k    11654.74k    32966.76k    60016.27k    80729.43k
sha1              2310.95k     6024.87k    11680.32k    15273.93k    16784.07k
des cbc           6787.21k     7014.36k     7072.49k     7088.73k     7092.48k
des ede3          2462.47k     2499.87k     2509.48k     2511.35k     2514.75k
aes-128 cbc      10014.28k    11018.87k    11308.99k    11381.03k    11406.20k
aes-192 cbc       8930.35k     9675.27k     9895.97k     9954.57k     9971.92k
aes-256 cbc       8022.81k     8624.03k     8799.60k     8843.14k     8856.07k
sha256            2546.33k     5542.19k     9326.99k    11249.03k    11969.57k
sha512             877.22k     3503.44k     4856.01k     6554.96k     7299.32k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.109348s 0.003132s      9.1    319.3
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.032745s 0.037212s     30.5     26.9

Optimize for speed (-O3 instead of -Os and disable -DOPENSSL_SMALL_FOOTPRINT):
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
md5               3660.39k    12401.37k    34501.23k    62438.83k    81786.64k
sha1              3500.20k    10730.70k    25056.19k    37715.86k    44253.13k
des cbc           7189.75k     7545.88k     7641.90k     7665.71k     7672.18k
des ede3          2690.64k     2734.33k     2745.24k     2748.13k     2748.81k
aes-128 cbc      11325.29k    12731.75k    13151.34k    13259.95k    13289.55k
aes-192 cbc       9932.36k    10997.65k    11309.84k    11389.53k    11408.92k
aes-256 cbc       8845.13k     9677.01k     9920.30k     9980.77k     9996.42k
sha256            3200.50k     7107.76k    12230.85k    14933.73k    15962.15k
sha512             879.12k     3510.79k     4956.45k     6711.45k     7484.39k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.085641s 0.002365s     11.7    422.9
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.023881s 0.026120s     41.9     38.3

-O3 is considered safe for OpenSSL
Ref: https://wiki.openssl.org/index.php/Compilation_and_Installation
Tested hardware: Linksys WRT3200ACM / D-Link DIR-860L (B1)

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2017-11-18 21:01:26 +01:00
..
argp-standalone treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
elfutils add PKG_CPE_ID ids to package and tools 2017-11-17 02:24:35 +01:00
gettext package: replace $(STAGING_DIR)/host with $(STAGING_DIR_HOSTPKG) 2017-01-10 22:15:37 +01:00
gettext-full add PKG_CPE_ID ids to package and tools 2017-11-17 02:24:35 +01:00
gmp gmp: Update to 6.1.2 2017-01-03 14:24:33 +01:00
libbsd treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
libconfig treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
libevent2 add PKG_CPE_ID ids to package and tools 2017-11-17 02:24:35 +01:00
libiconv package: replace $(STAGING_DIR)/host with $(STAGING_DIR_HOSTPKG) 2017-01-10 22:15:37 +01:00
libiconv-full treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
libjson-c add PKG_CPE_ID ids to package and tools 2017-11-17 02:24:35 +01:00
libmnl treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
libnetfilter-conntrack libnetfilter_conntrack: switch to git 2017-10-09 16:12:00 +03:00
libnetfilter-cthelper treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
libnetfilter-cttimeout treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
libnetfilter-log treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
libnetfilter-queue libnetfilter_queue: bump to git HEAD 2017-10-09 16:06:06 +03:00
libnfnetlink treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
libnftnl treewide: switch git.netfilter.org to HTTPS 2017-10-08 21:10:36 +03:00
libnl libs/libnl: Update to 3.3.0 2017-10-15 00:24:22 +02:00
libnl-tiny libnl-tiny: use fixed message size instead of using the page size 2017-11-16 12:54:15 +01:00
libpcap libs/libpcap: Rework URLs 2017-03-22 09:16:23 +01:00
libroxml treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
librpc treewide: clean up and unify PKG_VERSION for git based downloads 2016-12-22 16:42:21 +01:00
libtool add PKG_CPE_ID ids to package and tools 2017-11-17 02:24:35 +01:00
libubox bubox: update to latest git HEAD 2017-11-06 10:06:35 +01:00
libunwind add PKG_CPE_ID ids to package and tools 2017-11-17 02:24:35 +01:00
libusb libusb: Update to 1.0.21 2017-01-03 14:24:33 +01:00
libusb-compat treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
lzo libs/lzo: Reenable unaligned access on ARM, PPC, ... 2017-10-24 13:24:04 +02:00
mbedtls add PKG_CPE_ID ids to package and tools 2017-11-17 02:24:35 +01:00
ncurses ncurses: add libnucrses-dev package 2017-07-08 23:19:31 +02:00
nettle treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
nghttp2 nghttp2: switch to release tarball 2017-11-01 22:08:14 +01:00
openssl openssl: Add optimization option 2017-11-18 21:01:26 +01:00
popt treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
readline add PKG_CPE_ID ids to package and tools 2017-11-17 02:24:35 +01:00
sysfsutils treewide: clean up download hashes 2016-12-16 22:39:22 +01:00
toolchain toolchain: Package libgomp 2017-05-11 13:42:55 -07:00
uclibc++ uclibc++: patch bugfix erase() on derived __base_associative 2017-02-09 12:26:55 +01:00
uclient uclient: update to the latest version, fixes fetch of multiple files 2017-11-02 22:54:09 +01:00
ustream-ssl cyassl,curl,libustream-ssl: rename every cyassl to wolfssl 2017-09-17 00:00:12 +02:00
wolfssl libs/wolfssl: bump to version 3.12.0 ; add myself as maintainer 2017-09-17 00:00:12 +02:00
zlib add PKG_CPE_ID ids to package and tools 2017-11-17 02:24:35 +01:00