Epic Battle - RPi 3 vs OPi PC vs OPi PC2

2017-01-22

В прошлый раз я писал о бенчмарках Raspberry Pi3 vs Orange Pi PC vs OrangePi PC2 в SysBench.

Цифры вызвали недоумение, как у меня, так и у читателей. И не без основания. Шутка ли - разница в SysBench в 10 раз. Мягко говоря, доверия результаты не вызывают.

Поэтому было принято стратегическое решение - померить ещё как-нибудь.

Методика тестирования

В качестве теста использовались пакеты Phoronix и PyPerformance. Из Phoronix были выбраны тесты:

  • 7Zip
  • PyBench

Из PyPerformance:

  • chameleon
  • crypto_paes
  • django_template
  • regex_compile
  • regex_v8
  • tornado_http

На каком, собственно, основании ? Причин несколько. Во-первых нужно было проверить “raw performace” процессора. Во-вторых исключить тесты, которые активно обращаются к диску, дабы исключить влияние SD-карты. В-третьих - тесты, более или менее отражающие real-life применение.
Ну и общая идея - измерения производились на том, что есть. То есть все пакеты ставились из стандартных репозитариев. Если “репы” Debian содержат “плохие” бинарники - это проблемы пользователя Debian :).

Результаты

И вот, результаты. Spoiler: кто-то врёт.

Единицы измеренияRaspberry Pi 3Orange Pi PCOrange Pi PC 2Примечание
Phoronix
7 Zip CompressionMIPS17237901376Больше — лучше
PyBenchMilliseconds172502157222881Меньше — лучше
PyPerformance
chameleonMilliseconds163232213Меньше — лучше
crypto_pyaesSeconds1,762,342,08Меньше — лучше
django_templateSeconds2,175,613,06Меньше — лучше
regex_compileSeconds2,453,73,27Меньше — лучше
regex_v8Milliseconds276376348Меньше — лучше
tornado_httpSeconds2,274,883,28Меньше — лучше

Ужас-ужас. Но, для начала - некоторые пояснения.

Raspberry Pi 3 - использовался Raspbian.
Orange Pi PC и Orange Pi PC2 - самосборный дистрибутив Debian Jessie. Во всех системах минимизировано использование swap, дабы исключить влияние SD-карты. В случае с OrangePi пришлось пойти на некоторые уловки для уставновки Phoronix, дабы обмануть систему управления пакетами. Armbian пришлось исключить, ибо а) Пакеты те же б) Его нет для Orange Pi PC2

Для точности вот PasteBin каждого из устройств. Там же можно найти ссылки на OpenBenchmarking.org (для Orange).

Raspberry Pi 3
Orange Pi PC
Orange Pi PC 2
Почему всё так ?

Как же так получилось, что Raspberry 3 в режиме ARM7 опередила новейший OrangePi PC2 ?

Предположений масса.

Версия первая, конспирологическая

Если китайские разработчики смогли обмануть Antutu и завысить бенчмарки для своих процессоров, то почему бы не сделать то же самое для SysBench ?

Версия вторая, оправдательная

Raspbian - хорошо оптимизированная система. В частности “бинарник” 7Zip для тестов в Raspbian “приезжает” из репозитаориев, а для Orange Pi - собирается “на месте” без всяких оптимизаций. Тоже самое касается python/cpython.
Вполне может быть, что это сыграло свою роль. AArch64 собран с какими-нибудь “дефолтными флагами”, и, как результат - мы имеет жуткую картину на результатах тестов. Правда, это никак не объясняет десятикратный прирост производительности в SysBench.

Версия третья, жизненная.

А может быть Orange Pi PC и Orange Pi PC2 просто собраны из говна и палок ? Вот и результат. Однако, тут стоит сделать реверанс в сторону авторов RetrOrangePi, которые выжимают из дистрибутива максимум…

Версия четвёртая, не менее жизненная.

Что-то не было учтено. Но, по крайней мере, если кто-то решит воспроизвести результаты - у него есть поле для деятельности и оптимизации.

Генерально, у тестов нет одного важного показателя - а именно, $$$ за единицу производительности. Тут, думаю Orange Pi всех должен уделать, даже с учётом стоимости доставки.

Посмотрим, как будут развиваться события в ядро- и дистрибутиво-строении.


В массы

В трубу