Вычисляем 5000 знаков числа PI для определения быстродействия железки
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
-
- Сообщения: 81
- Зарегистрирован: 21 сен 2015, 19:22
-
- Сообщения: 160
- Зарегистрирован: 29 фев 2016, 13:34
Zyxmon писал(а):Источник цитаты Еще на 30% быстрее entware-3x от Voxel (скорее всего сказывается оптимизация -O3).
Я думаю, это ассемблерная акселерация. Я же давно предлагал включить ее в Entware

До кучи:
Netgear R7800:
183 1336 2447
Netgear R9000:
385 1625 6250
Voxel.
-
- Сообщения: 160
- Зарегистрирован: 29 фев 2016, 13:34
Если интересно, я еще умудрился добавить хардверную акселерацию в свою прошивку для R9000 (/dev/crypto). Там результаты OpenSSL:
обычная, только с ассемблерной акселерацией:
с /dev/crypto:
для блоков больше 1024 существенное ускорение.
Voxel.
обычная, только с ассемблерной акселерацией:
Код: Выделить всё
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-256 cbc 55240.53k 56696.26k 57978.45k 58745.86k 58799.45k
с /dev/crypto:
Код: Выделить всё
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
aes-256-cbc 1313.02k 5265.17k 20732.59k 70701.06k 305261.23k
для блоков больше 1024 существенное ускорение.
Voxel.
-
- Сообщения: 160
- Зарегистрирован: 29 фев 2016, 13:34
Zyxmon писал(а):Источник цитаты Еще на 30% быстрее entware-3x от Voxel (скорее всего сказывается оптимизация -O3).
Да, еще дополнение. У меня заточено на архитектуру Cortex-A15. Т.е. я не использую при компиляции "-march-armv7-a", а только "-mcpu=cortex-a15". Если использовать обе опции, получим предупреждение компилятора о несовместимости (типа, что у cortex-a15 больше инструкций чем у armv7-a, и "-march=armv7-a" это ограничивает). Это реально дает ускорение для IPQ806x (Krait, используется в R7500 и R7800) и для чистого Cortex-A15 (Alpine AL-514 в R9000). Ну и плюс neon. Ассемблерная акселерация в OpenSSL проверяет наличие neon и использует его, если есть.
Voxel.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
В lede все собирантся с опциями https://github.com/LEDE-RT-AC58U/LEDE_R ... config#L68
Скорре всего разницу 20% дает -O3 против -Os.
Скорре всего разницу 20% дает -O3 против -Os.
-
- Сообщения: 445
- Зарегистрирован: 12 авг 2015, 14:14
- Откуда: Смоленск
Я не стал использовать -O3 в Entware по той причине, что это уже экстремальная оптимизация с развёртыванием (unroll) циклов и прочими запредельными штуками. В некоторых случаях бинарики заметно увеличивались в объёме.Voxel писал(а):Источник цитатыДа, еще дополнение.Zyxmon писал(а):Источник цитаты Еще на 30% быстрее entware-3x от Voxel (скорее всего сказывается оптимизация -O3).
Хорошо бы проверить эту догадку. Можно воспользоваться специализированными тестами из lmbench.Zyxmon писал(а):Источник цитаты Скорре всего разницу 20% дает -O3 против -Os.
-
- Сообщения: 160
- Зарегистрирован: 29 фев 2016, 13:34
Zyxmon писал(а):Источник цитаты В lede все собирантся с опциями https://github.com/LEDE-RT-AC58U/LEDE_R ... config#L68
Скорре всего разницу 20% дает -O3 против -Os.
Я имел в виду вот эти строки в Makefile для OpenSSL:
https://github.com/openwrt/openwrt/blob ... l/Makefile и то же для Entware-3x
https://github.com/Entware-for-kernel-3 ... l/Makefile
Код: Выделить всё
else
OPENSSL_OPTIONS+=no-sse2
ifeq ($(CONFIG_mips)$(CONFIG_mipsel),y)
OPENSSL_TARGET:=linux-mips-openwrt
# else ifeq ($(CONFIG_arm)$(CONFIG_armeb),y)
# OPENSSL_TARGET:=linux-armv4-openwrt
else
OPENSSL_TARGET:=linux-generic-openwrt
OPENSSL_OPTIONS+=no-perlasm
endif
endif
В lede это убрали (я догадываюсь, с моей подачи, dissent помог):
https://github.com/lede-project/source/ ... l/Makefile
Код: Выделить всё
else
OPENSSL_OPTIONS+=no-sse2
ifeq ($(CONFIG_mips)$(CONFIG_mipsel),y)
OPENSSL_TARGET:=linux-mips-openwrt
else ifeq ($(CONFIG_arm)$(CONFIG_armeb),y)
OPENSSL_TARGET:=linux-armv4-openwrt
else
OPENSSL_TARGET:=linux-generic-openwrt
OPENSSL_OPTIONS+=no-perlasm
endif
endif
Таким образом включаем ассемблерное ускорения для ARM > V4. Реально, дает сильное ускорение.
Voxel.
-
- Сообщения: 160
- Зарегистрирован: 29 фев 2016, 13:34
Александр Рыжов писал(а):Источник цитаты Я не стал использовать -O3 в Entware по той причине, что это уже экстремальная оптимизация с развёртыванием (unroll) циклов и прочими запредельными штуками. В некоторых случаях бинарики заметно увеличивались в объёме.
Я не думаю, что те, кто пользуется Entware сильно озабочены размером бинарников. Найти флешку менее 4ГБ сейчас уже проблема. А пользую -O3 я (ну и те, кто пользуется Entware на Netgear) уже более года. Достаточно для тестинга

Voxel.
-
- Сообщения: 160
- Зарегистрирован: 29 фев 2016, 13:34
Voxel писал(а):Источник цитаты В lede это убрали (я догадываюсь, с моей подачи, dissent помог):
Вот коммит в lede (год назад, 31 августа):
https://github.com/lede-project/source/ ... 27ad5d5b8f
Я использую это где-то с мая/июня 2016.
Voxel.
Вернуться в «Маршрутизаторы, точки доступа, сетевые карты»
Кто сейчас на конференции
Всего 3 посетителя :: 1 зарегистрированный, 0 скрытых и 2 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33
Сейчас этот форум просматривают: CommonCrawl [Bot] и 2 гостя