Производительность Orange Pi PC2

2017-01-18

Поскольку свежую Orange Pi PC2 удалось завести, “настал психологический момент” для измерений её производительности. Я этим уже занимался почти год назад, так что не буду городить огород и попробую повторить результаты измерений.

Начнём с вполне реальной задачи - скорость подсчёта хэшей по алгоритму scrypt, которые используются в майнинге Lightcoin.

Pooler CPU Miner собран с этой опцией:

./configure CFLAGS="-O3"

1
2
3
4
5
6
cpuminer-2.4.5$ ./minerd --benchmark
[2017-01-17 21:23:14] thread 0: 3786 hashes, 0.76 khash/s
[2017-01-17 21:23:19] thread 2: 3753 hashes, 0.76 khash/s
[2017-01-17 21:23:19] thread 1: 3781 hashes, 0.76 khash/s
[2017-01-17 21:23:19] thread 3: 3795 hashes, 0.76 khash/s
[2017-01-17 21:23:19] Total: 3.03 khash/s

Ну… даже не знаю. Прирост производительности всего лишь на 25%. Сплошное расстройство, а не прорыв.

But Wait! Внимательное изучение исходников cpuminer показывает, что критические части реализованы на ассемблере для ARM, но на 32 битном и в этом билде они не используются. То есть, тест не совсем релевантен, точнее будет иметь смысл тогда и только тогда, когда автор перепишет их с использованием новых (?) ассемблерных инструкций. Правда, я знаю очень мало людей, которые пишут на этом самом ассемблере для AArch64.

Для сравнения, тот же тест, запущенный на 64битном Linux на Celeron 847 (Двухядерный процессор с пассивным охлаждением, вполне “тащит” домашний NAS+Plex Server+билды).

1
2
3
[2017-01-18 00:27:54] thread 0: 13788 hashes, 2.76 khash/s 
[2017-01-18 00:27:59] thread 1: 13812 hashes, 2.76 khash/s
[2017-01-18 00:27:59] Total: 5.52 khash/s

Ну, надо сказать, что порядок один =). Разница не в 10 раз.

Ок, вернёмся к sysbench - как-никак стандарт. В прошлый раз я выложил просто дамп вывода на pastebin, в этот раз вначале сводная таблица, потом будет pastebin.

Единица измеренияOrange Pi PCRaspberry Pi 3Orange Pi PC 2Примечание
Процессор
sysbench --num-threads=1 --test=cpu --cpu-max-prime=2000 runСекунды (меньше - лучше)19.428419.64451.8893Вычисление 2000 простых чисел в 1 поток
sysbench --num-threads=2 --test=cpu --cpu-max-prime=2000 runСекунды (меньше - лучше) 9.88839.84710.9457Вычисление 2000 простых чисел 2 потока
sysbench --num-threads=4 --test=cpu --cpu-max-prime=2000 runСекунды (меньше - лучше)4.95174.9428s0.4789s Вычислиение простых чисел в 4 потока
Память
sysbench --test=memory --memory-block-size=1M --memory-total-size=256M runМБ/С (больше - лучше)1072.23 1531.521893.11Запись блока памяти размером 1МБ последовательно на участке 256МБ
sysbench --test=memory --memory-block-size=512K --memory-total-size=512M runМБ/С (больше - лучше)1281.341928.871896.91Запись блока памяти размером 512КБ последовательно на участке 512МБ

Вот блин! Разница в скорости обработки - 10 (десять раз)! Это про процессор. Да, кстати, нужно ещё учесть тот факт, что скорее всего замеры для Raspberry Pi 3 делались на 32-битном Linux, используя набор команд Cortex A7, поскольку 64битного дистрибутива для RPi 3 пока ещё официально нет.

С другой стороны - для методики “взяли что есть и померяли” - тест показывает отличные результаты.

С памятью всё немного хуже.До Raspberry Pi 3 не дотягиваем. Вообще, возможно дело в недонастроенном u-boot и выставление других тайминогов даст бОльшую скорость. Однако, тестируем на том, что есть “из коробки”.

Честно говоря, не верится. Вот дамп на pastebin.

Может не оттуда брал результаты ? Хотя, одни из первых получивших плату тоже сильно удивлялсь, как такое вообще может быть.

Теперь про температуру. Я сразу “прилепил” радиатор.

Orange Pi PC2 Heatsink

В состоянии покоя система показывала около 36 градусов (почти 36.6 :)), тестами удалось “прогреть” где-то до 55. При этом снятие нагрузки почти сразу возвращало чип в первоначальную температуру.

Радиатор такой же, как и на Orange Pi PC, подходит отлично и есть в наличии в “Лавке”.


В массы

В трубу