Тест nBench
Предполагаю, что абсолютно не будет лишним включить в наш обзор тест nBench для выполнения, так сказать, «ретро» вычислительных задач, особенно если учитывать, что основная цель Raspberry Pi – это обучение программированию. nBench известен очень давно, поэтому вы сможете сравнить результаты тестов RPi с результатами тестирования различных процессоров, от I386/486 до современных Intel Core i7 [1]. Кроме того, существует версия nBench для ОС Android [2].
nBench предназначен для тестирования трех основных компонентов процессора: основного процессорного ядра, модуля вычислений с плавающей точкой и подсистемы памяти. После того, как nBench скомпилирован, он запускается как программа в командной строке. Результатом теста является одно число (количество итераций в секунду) и, соответственно, чем оно выше, тем лучше (Таблица 7).
Таблица 7. Результаты выполнения теста nBench на платах Raspberry Pi. | ||||||||||||||||
|
С целью объективной оценки и сравнения, приведем результаты выполнения nBench на других системах (Таблица 8).
Таблица 8. Результаты выполнения теста nBench на других процессорах. | ||||||||||||||||
|
Конечно, совершенно несправедливо сравнивать процессор на платах RPi с этими чипами, за исключением смартфона LG Optimus, который выполнен на ARM процессоре. Тем не менее, заметьте, что процессор Broadcom имеет области, в которых он превосходит эти старые процессоры. Например, сильно выделяется производительность в целочисленных операциях RPi 3 на фоне процессора AMD K7, обе платы RPi 3 и RPi 2 опережают процессор Pentium 3. Хотя приборы Intel известны сильной арифметикой с плавающей точкой, и на сегодняшний день, как правило, для этого больше подходит графический сопроцессор (GPU), возможно встроенный графический процессор VideoCore в чипе Broadcom будет демонстрировать более хорошие результаты.
По завершению nBench выдает множество важных параметров, также как SysBench; полную таблицу с результатами можно скачать в разделе загрузок.
Тест памяти MemTester
Данная программа в основном предназначена для диагностики или проверки работоспособности ОЗУ. Это эффективный инструмент для стресс-тестирования подсистемы памяти [3]. Для того, чтобы создать одинаковые условия выполнения данного теста на трех моделях Raspberry Pi, мы установили объем тестируемой памяти 256 Мбайт (Таблица 9). Как вы знаете, RPi делит системную память с видеопроцессором VideoCore, и не рекомендуется запрещать видеопроцессору использовать любой доступный объем ОЗУ. Это означает, что мы не сможем проверить весь объем ОЗУ (512 Мбайт или 1 Гбайт), доступного на платах RPi.
Основным результатом выполнения MemTester является не время его выполнения, а отчет о наличии ошибок при проверке указанного объема памяти. Тем не менее, мы можем установить, сколько времени выполнялся тест. В Linux-системах существует специальная команда «time», которая в сочетании с другой командой скажет нам время выполнения последней. Применив такую простую конструкцию, мы сможем проверить время выполнения теста 256 Мбайт ОЗУ на каждой плате RPi:
sudo time memtester 256M 1
Таблица 9. Результаты тестирования ОЗУ на платах RPi. | ||||||||
|
Цифры говорят сами за себя, даже учитывая, что скорость работы подсистемы памяти на всех платах практически одинакова (400 МГц). Очевидно ограничения связаны с процессором, и мы наблюдаем значительный прирост скорости работы. В этом случае RPi 3 почти в два раза быстрее RPi 2 при распределении и доступе к ОЗУ.
Тесты из коллекции Роя Лонгботтома
Коллекция содержит огромное количество тестов, начиная с whetstone и специфических тестов для архитектуры ARM v6, и заканчивая тестами для архитектуры ARM v7 и технологии NEON. Кроме того, доступны тесты OpenGL и более глубокие тесты памяти. Мы запускали многие тесты на всех платах RPi, а результаты постарались объединить в удобной для сравнения форме. Далее в статье мы рассмотрим наиболее интересные результаты (Таблицы 10, 11); все файлы с результатами тестов доступны для скачивания в разделе загрузок.
Таблица 10. 32-разрядный тест скорости чтения памяти memSpeedPiA6. | |||||||||||||||||||||||||||||||||||||||||||||||||||
|
Теперь не остается никаких сомнений в высокой производительности RPi 3, но в Таблице 10 очень интересен один момент: объем используемой тестом памяти, после которого начинается снижение производительности. На обеих платах RPi 3 и RPi 2 мы ясно видим, что скорость снижается на отметке 16/32 Кбайт, но в тоже время в результатах для RPi 3 снижение скорости малозаметно вплоть до отметки 512 Кбайт. Очевидно, для RPi 3 порог 16 Кбайт является «золотой серединой», и даже при достижении отметки 1024 Кбайт и выше снижение скорости не столь велико, как это происходит на RPi 2. Можно сделать вывод о фундаментальных изменениях в аппаратных возможностях процессора при работе с памятью.
Таблица 11. Тест скорости SIMD-движка NEON. | ||||
|
Расширение усовершенствованного SIMD-движка , также называемое технологией NEON — это комбинированный 64- и 128-битный набор команд SIMD (single instruction multiple data), который обеспечивает стандартизованное ускорение для медиаприложений и приложений обработки сигнала [4]. Процессор с поддержкой технологии NEON установлен только на платах RPi 3 и RPi 2, поэтому на RPi Model B+ проверить этот момент невозможно. Но и оценку производительности движка NEON на платах RPi2/3 до сих пор никто не выполнял. RPi 3 демонстрирует явное увеличение скорости работы NEON. Это должно означать, что RPi 3 будет быстрее в расчетах, связанных с обработкой видео, рендеринга векторной графики (игры, 3D), и, потенциально, обработкой аудио. Опять же, обратите внимание на отметку, с которой производительность начинает снижаться.
Мы провели еще один тест технологии NEON, который называется Linpack Single Precision Benchmark, который предоставляет оценку производительности системы в единицах MFLOPS (количество операций с плавающей точкой в секунду; флопс). Файл отчета проведения данного теста имеется в архиве. Плата RPi 2 показала результат 299.93 MFLOPS, в то время как RPi 3 достигает 462.07 MFLOPS.
Заключение
Модель RPi 3 подготавливает почву не только для использования более быстрого процессора, но и, надеемся, для дальнейшего развития платформы Raspberry Pi в целом. С этого момента переход к поддержке 64-разрядного процессора ARMv8 может способствовать улучшению поддержки операционными системами. Интеграция Wi-Fi и Bluetooth приветствуется многими и это еще одна особенность, которой необходим сравнительный анализ. В частности, хотелось бы сравнить пропускную способность и скорость передачи данных при использовании WiPi (WLAN USB адаптер для RPi) и интегрированного Wi-Fi. Хотя в этом случаем мы все еще можем быть ограничены скоростью работы подключенного накопителя (SD карта, USB Flash).
Кроме того, было бы неплохо корректно оценить производительность функционала OpenGL графического сопроцессора совместно с новым драйвером и сравнить результаты с предшествующей моделью RPi. Вероятно, разница будет несущественная, на что указывают результаты теста с помощью программы OpenGL Роя Лонгботтома (см. приложенные к статье файлы), а на платах аналогичных RPi Model B+ вообще не удастся проверить этот момент ввиду малого объема ОЗУ.
Если не принимать во внимание множественные призывы к использованию более мощного процессора, надеясь, что маленькая плата сможет заменить настольный компьютер, то RPi 3 при ее удивительной стоимости – это следующий шаг в правильном направлении. Весьма похвально, что основатели и сообщество Raspberry Pi сделали все возможное для реализации обратной совместимости платформы, но это не может продолжаться вечно и, при переходе программных пакетов на 64-разрядные версии придется ломать поддержку систем. Время просвещать массы!
Бонус: температурный режим RPi 3
Измерение температуры процессора и платы выполнялись при выполнении теста SysBench на стандартной тактовой частоте, без нагрузки на интегрированный графический процессор.
![]() |
|
Рисунок 3. | Температурный режим платы RPi 3 в условиях высокой вычислительной нагрузки на процессор. |
Как вы можете заметить по Рисунку 3, процессор на плате RPi 3 при высокой нагрузке греется сильнее по сравнению с предшественниками, поэтому при монтировании платы в корпус помните о необходимости установки на процессор радиатора и наличия вентиляции корпуса (не прислушивайтесь к распространенному мнению, что RPi не нуждается в охлаждении!). В подобном температурном режиме работает плата RPi 2, «разогнанная» до 1.1 ГГц.
Загрузки
Файлы отчетов по системным тестам - скачать
Файлы отчетов по тестам Роя Лонгботтома - скачать
Дополнительные материалы:
1. Результаты выполнения nBench на различных процессорах (англ.)
2. Linux/Unix Nbench - описание (англ.)
3. Linux MemTester - подробное описание (англ.)
4. Архитектура ARM