Методика тестирования компьютеров на базе macOS, часть 1: профессиональные приложения и сценарии

Часть 1: профессиональные приложения и сценарии
Более двух лет назад мы представили вам мини-методику тестирования производительности компьютеров на macOS X (тогда еще операционная система называлась просто OS X) с помощью видеоредактора Apple Final Cut Pro X и видеокодировщика Apple Compressor. С тех пор мы использовали эту методику для каждого нашего обзора ноутбуков MacBook и настольных компьютеров iMac. Однако время идет, и пришло время обновить набор тестов, а заодно дорастить мини-методику до полноценной методики, включающей не только вышеупомянутые приложения, но бенчмарки различного плана и некоторые профессиональные задачи.
Final Cut Pro X на MacBook Pro Retina

Традиционно считается, что под macOS провести полноценное тестирование производительности проблематично. Не без оснований. Однако постепенно появляются качественные бенчмарки, работающие понятным образом, удобные и результативные тестовые инструменты... А если дополнить это еще и реальными сценариями работы, когда в профессиональных приложениях запускаются типичные высоконагрузочные операции и просто секундомером засекается время их выполнения, то в сумме это даст нам вполне наглядную и показательную методику, на основе которой можно будет делать выводы и сравнивать результаты компьютеров, вышедших не одновременно.

Конечно, любая методика имеет свои изъяны, упущения, поэтому если вы считаете, что какой-то важный и показательный сценарий отсутствует — напишите об этом в обсуждении статьи. Однако надо понимать, что любая методика — это еще и баланс между количеством тестовых инструментов, их задачами и временем, затраченным на работу. Невозможно в рамках стандартного краткосрочного тестирования нового продукта проверить его в решительно всех возможных сценариях, равно как и во всех доступных бенчмарках. Мы выбрали самые показательные, на наш взгляд, тесты, которые могут дать ответы на конкретные вопросы и при этом не дублируют друг друга.

В этой статье мы подробно обоснуем наш выбор, пошагово опишем, как именно мы проводим тесты, и сделаем выводы на примере трех (в некоторых тестах — большего количества) MacBook Pro.

Конфигурации тестовых компьютеров

По понятной причине все новые тесты и режимы будут проверяться только на трех моделях, которые были у нас непосредственно на руках в момент разработки методики. Это MacBook Pro 13″ (Late 2012) — самая первая и самая слабая модель с экраном Retina, MacBook Pro 13″ (Late 2016) — новейшая модель с панелью Touch Bar в базовой конфигурации, а также MacBook Pro 15″ прошлого поколения — без Touch Bar, но зато с дискретной графикой AMD Radeon R9 M370X.

Приводим таблицу, в которую сведены характеристики трех моделей, имеющие отношение к производительности.

 MacBook Pro Retina 13″ (Late 2016)MacBook Pro Retina 15″ (Mid 2015)MacBook Pro Retina 13″ (Late 2012)
Процессор (CPU)Intel Core i5-6267U (Skylake)Intel Core i7-4870HQ (Haswell)Intel Core i5-3210M (Ivy Bridge)
Количество ядер CPU, частота2 ядра, 2,9 ГГц (Turbo Boost до 3,3 ГГц)4 ядра, 2,5 ГГц (Turbo Boost до 3,7 ГГц)2 ядра, 2,5 ГГц (Turbo Boost до 3,1 ГГц)
GPU Intel Iris Graphics 550AMD Radeon R9 M370XIntel HD Graphics 4000
Оперативная память8 ГБ 2133 МГц LPDDR316 ГБ 1600 МГц DDR3L 8 ГБ 1600 МГц DDR3
ХранилищеSSD 512 ГБSSD 512 ГБSSD 128 ГБ

Характеристики компьютеров, на которых использовалась предыдущая версия методики (мы возьмем из нее некоторые результаты), можно посмотреть здесь, а также в статьях про каждую конкретную модель.

Тестирование производительности в Final Cut Pro X и Compressor

На момент тестирования актуальными версиями этих программ были, соответственно, 10.2.3 и 4.3. В качестве операционной системы использовалась macOS Sierra 10.12.2 на двух более новых компьютерах, а на MacBook Pro 2012 года — El Capitan 10.11.6.

В первой версии методики мы использовали снятый на видеокамеру 10-минутный видеоролик Full HD 30 fps. Подробные параметры видеоролика приведены ниже (данные получены с помощью утилиты MediaInfo из Mac App Store). Файл можно скачать здесь. Внимание: это несжатое видео, поэтому размер соответствующий: 1,73 ГБ.

Скриншот программы MediainfoСкриншот программы Mediainfo

Однако сегодня, когда видео 4К стало уже обыденностью, было бы неправильным обходиться без его использования при тестировании производительности видеомонтажа. Поэтому мы сняли 5-минутный видеоролик 4K 30 fps на iPhone 7 Plus. Ниже — подробная информация о нем.

Скриншот программы MediainfoСкриншот программы Mediainfo

Теперь приступим непосредственно к тестированию и запустим Final Cut Pro X.

Тест 1: стабилизация 4К и Full HD

Итак, первая операция — стабилизация видео 4K. Открываем видеофайл на Timeline (дожидаемся, пока вся полоса заполнится изображением), выбираем в Inspector вкладку Video и нажимаем на квадратик напротив слова Stabilization, не меняя никакие настройки.

Скриншот программы Final Cut Pro X

В момент нажатия на квадратик запускаем секундомер и ждем полного завершения процесса. Кружочек с процентами под окном видео трижды дойдет до 100%. Процесс будет завершен тогда, когда наверху Timeline (под шкалой времени) не будет оранжевой полосы.

Скриншот программы Final Cut Pro X

Результаты приводим в таблице:

 MacBook Pro Retina 13″ (Late 2016)MacBook Pro Retina 15″ (Mid 2015)MacBook Pro Retina 13″ (Late 2012)
Тест 1 (мин:сек)45:5443:151:15:37

Не очень понятно, почему так мал разрыв между моделями 2015-го и 2016-го года: у «пятнашки» и графика дискретная, и более мощный 4-ядерный процессор (правда, предыдущего поколения), и памяти вдвое больше. Самый старый MacBook Pro Retina далеко позади — монтировать 4K-контент на нем будет сплошным мучением и постоянным ожиданием.

Тест 2: стабилизация Full HD

Второй тест — все то же самое, только с файлом Full HD. Создаем новый event, открываем файл на Timeline и повторяем описанное выше.

 MacBook Pro 13″ (Late 2016)MacBook Pro 15″ (Mid 2015)MacBook Pro 13″ (Late 2012)
Тест 2 (мин:сек)27:4114:5547:32

Здесь как раз расклад ожидаемый и показательный: разница между 13-дюймовым MacBook Pro 2016 года и 15-дюймовым MacBook Pro 2015 близка к двукратной — в полном соответствии с числом ядер у их процессоров.

Этот тест был в предыдущей методике, так что результаты вполне можно сравнить с другими компьютерами, которые мы тестировали за последние два года.

Тест 3: картинка в картинке

В третьем тесте мы сделаем популярную операцию под названием «картинка в картинке», воспользовавшись двумя уже стабилизированными видеофайлами. Теперь их надо добавить на один Timeline, после чего (не дожидаясь завершения обсчета) нажать на иконку Transform (левый нижний угол под окном видео) и выделить область в окне видео, примерно соответствующую четверти общей площади. Получится примерно следующее:

Скриншот программы Final Cut Pro X

После этого — сразу нажать кнопку Done, именно тогда запускается секундомер. Вот результаты:

 MacBook Pro Retina 13″ (Late 2016)MacBook Pro Retina 15″ (Mid 2015)MacBook Pro Retina 13″ (Late 2012)
Тест 3 (мин:сек)17:2708:33

К сожалению, этот тест выявил неожиданную проблему, с которой мы столкнулись на младшем и самом старом MacBook Pro. И дело вовсе не в производительности, а в объеме места на накопителе. Оказалось, что при объеме SSD в 128 ГБ (которые в реальности дают около 120 ГБ) при наличии других установленных приложений тестовой методики пространства для кэша Final Cut просто не хватает. После первых двух тестов, описанных выше, объем файла данных Final Cut превысил 20 ГБ, и во время операции помещения картинки в картинку приложение сообщило, что ему не хватает места. Что ж, придется иметь в виду, что в моделях с накопителем на 128 ГБ нам удастся провести не все тесты и предпочтительнее брать на тестирование модели с емкостью SSD не меньше 256 ГБ.

Что касается сравнения двух более новых MacBook, то здесь расклад в целом тот же (с небольшими нюансами). MacBook Pro 15″ показал себя безусловным лидером.

Тест 4: финальный рендеринг через Compressor

И последняя операция с видео: сохраняем результаты нашего творчества с помощью Apple Compressor. Для этого нажимаем в Final Cut Pro X вкладку File / Send to Compressor.

Открывается Compressor (разумеется, он должен быть предварительно установлен на компьютер), в нем мы нажимаем на центральную кнопку Add Outputs и в открывшемся меню выбираем Publish to YouTube / Up to 4K. Почему именно его? Потому что получаемый файл — приемлемых размеров, что хорошо для тестирования (не всегда объем SSD бывает максимальным), а кроме того, это вполне понятный «жизненный» сценарий.

Скриншот программы Compressor

После этого осталось нажать кнопку Start Batch в нижнем правом углу окна приложения — и процесс начнется.

Что ж, давайте посмотрим, сколько времени это заняло у наших испытуемых:

 MacBook Pro Retina 13″ (Late 2016)MacBook Pro Retina 15″ (Mid 2015)MacBook Pro Retina 13″ (Late 2012)
Тест 4 (мин:сек)15:3806:17

И опять никаких сюрпризов, все предсказуемо. Ну а на модели 2012 года мы и не запускали этот тест, так как предыдущий этап пройден не был.

BlackMagic DaVinci Resolve

Еще одно профессиональное приложение для работы с видео — BlackMagic DaVinci Resolve. Мы использовали версию 12.5. Основное предназначение этого пакета — цветокоррекция и постобработка видео. Разработчики характеризуют свой пакет как «комплексное решение для нелинейного редактирования и грейдинга, которое позволяет выполнять монтаж, установку цвета, финальную обработку и создание конечного продукта в одном приложении».

Нам оно может быть интересно потому, что здесь используются несколько иные алгоритмы, нежели в Final Cut Pro X, а кроме того, это одно из наиболее популярных сторонних профессиональных приложений на macOS. Следовательно, с помощью его можно понять, как аппаратная часть того или иного компьютера Apple работает без программной оптимизации самой Apple (хотя, разумеется, разработчики DaVinci Resolve тесно взаимодействуют с Apple).

Пока мы предлагаем только один, очень простой тест. Если среди наших читателей есть те, кто профессионально работает с пакетом DaVinci Resolve, будем рады предложениям, как можно расширить методику.

Скриншот программы DaVinci Resolve

Итак, мы открываем приложение, добавляем наш файл с 4К-видео, нажимаем правую кнопку мыши и выбираем Generate Optimized Media.

Скриншот программы DaVinci Resolve

Одновременно с нажатием на эту строчку включаем секундомер. Прогресс отображается в появившемся окне.

Скриншот программы DaVinci Resolve

И вот что получилось:

 MacBook Pro Retina 13″ (Late 2016)MacBook Pro Retina 15″ (Mid 2015)MacBook Pro Retina 13″ (Late 2012)
BlackMagic DaVinci Resolve (мин:сек)12:4505:2629:54

Главная особенность результатов — огромный разброс между самым быстрым и самым медленным из взятых нами ноутбуков. Безусловный лидер — 15-дюймовый MacBook Pro. Правда, мы затрудняемся сказать, какие именно компоненты обеспечили ему выигрыш: наличие дискретной графики, 4-ядерный процессор, объем оперативной памяти или сочетание всех этих факторов.

Компиляция и поиск по исходному коду

Ранее мы никогда не проверяли быстродействие компьютеров Apple в операциях, связанных с программированием. Теперь же было решено включить два простых теста, которые выполняются в Terminal. Однако сразу оговоримся: в будущем мы рассчитываем расширить блок этих тестов, поэтому если вы программист (и особенно — iOS-программист, работающий в Xcode), мы будем рады вашим комментариям, советам и идеям, какие еще тесты можно включить методику.

Итак, скорость компиляции мы будем проверять на Python 2. Для этого скачиваем Python 2.7.13 отсюда (17,1 МБ). Далее переходим в папку, куда был скачан пакет. Если это «Загрузки», то команда будет выглядеть так: $ cd ~/Downloads

Следующим шагом распаковываем архив: $ tar xvzf Python-2.7.13.tar

Переходим в папку с исходниками Питона: $ cd Python-2.7.13

Настраиваем параметры компиляции на текущей системе: $ ./configure

Скриншот командной строки Terminal

Это может занять какое-то время. После настройки начинаем компиляцию и замеряем ее время: $ time make -j 3

(в данном случае «3» — это число ядер процессора + 1; если у нас четырехъядерная система, то ставим число 5 и т. д.).

Скриншот командной строки Terminal

В итоге мы получаем три значения: real — это затраченное астрономическое время, user — затраченное процессорное время снаружи системных вызовов ядра, sys — время внутри ядра. Для сравнения мы будем использовать первое значение — real.

Скриншот командной строки Terminal

Второй тест — текстовый поиск. Для этого скачиваем исходный код ядра Linux 4.9.6 отсюда (93,2 МБ), распаковываем архив встроенной утилитой архивации или любым сторонним инструментом (например, The Unarchiver), далее запускаем Terminal, заходим в папку командой $ cd ~/Downloads/linux-4.9.6 (если папка не «Загрузки», то заменяем Downloads на соответствующее название папки).

Далее командой $ time grep -R ixbt * мы проводим поиск слова «ixbt» по папке. Если подставить какое-то другое слово, например «linux», то результатов поиска будет множество, но на время поиска это почти не влияет, поэтому мы для чистоты эксперимента будем искать «ixbt», получая каждый раз нулевой результат. Как показали эксперименты, погрешность получается в районе секунды, что при таких результатах — вполне приемлемо. Важный нюанс: тест лучше проводить после перезагрузки.

Скриншот командной строки Terminal

В итоге мы имеем таблицу с двумя результатами по каждой модели. Для удобства будем округлять результат до целых секунд.

 MacBook Pro Retina 13″ (Late 2016)MacBook Pro Retina 15″ (Mid 2015)MacBook Pro Retina 13″ (Late 2012)
Компиляция Python 2, мин:сек0:510:421:19
Текстовый поиск по исходному коду, мин:сек0:400:150:43

Как мы видим, расклад сохраняется, но разброс не столь сильный.

Выводы

Итак, мы существенно расширили мини-методику тестирования в профессиональных приложениях, «дорастив» ее до полноценной методики, включающей не только Final Cut Pro X и Compressor, но и один сторонний пакет для работы с видео (который, кстати, дал нам очень показательные результаты), а также тесты в Terminal, условно ориентированные на использование компьютера для программирования. Все вместе это позволяет не только увидеть производительность конкретных конфигураций для различных профессиональных применений, но и понять, насколько важно наличие тех или иных компонентов в конфигурации: например, что дает дискретная видеокарта, увеличенный объем памяти, количество и частота ядер процессора.

Впрочем, для полной картины тесты в профессиональных приложениях надо дополнить бенчмарками и изучить поведение компьютера в играх. И этому будет посвящена вторая часть нашей методики.




28 февраля 2017 Г.

macOS. 1:

macOS

1:

- macOS X ( OS X) Apple Final Cut Pro X Apple Compressor. MacBook iMac. , , - , , .
Final Cut Pro X  MacBook Pro Retina

, macOS . . , , ... , , , , .

, , , , - — . , — , , . , . , , , .

, , , ( — ) MacBook Pro.

, . MacBook Pro 13″ (Late 2012) — Retina, MacBook Pro 13″ (Late 2016) — Touch Bar , MacBook Pro 15″ — Touch Bar, AMD Radeon R9 M370X.

, , .

  MacBook Pro Retina 13″ (Late 2016) MacBook Pro Retina 15″ (Mid 2015) MacBook Pro Retina 13″ (Late 2012)
(CPU) Intel Core i5-6267U (Skylake) Intel Core i7-4870HQ (Haswell) Intel Core i5-3210M (Ivy Bridge)
CPU, 2 , 2,9 (Turbo Boost 3,3 ) 4 , 2,5 (Turbo Boost 3,7 ) 2 , 2,5 (Turbo Boost 3,1 )
GPU Intel Iris Graphics 550 AMD Radeon R9 M370X Intel HD Graphics 4000
8 2133 LPDDR3 16 1600 DDR3L 8 1600 DDR3
SSD 512 SSD 512 SSD 128

, ( ), , .

Final Cut Pro X Compressor

, , 10.2.3 4.3. macOS Sierra 10.12.2 , MacBook Pro 2012 — El Capitan 10.11.6.

10- Full HD 30 fps. ( MediaInfo Mac App Store). . : , : 1,73 .

  Mediainfo  Mediainfo

, 4 , . 5- 4K 30 fps iPhone 7 Plus. — .

  Mediainfo  Mediainfo

Final Cut Pro X.

1: 4 Full HD

, — 4K. Timeline (, ), Inspector Video Stabilization, .

  Final Cut Pro X

. 100%. , Timeline ( ) .

  Final Cut Pro X

:

  MacBook Pro Retina 13″ (Late 2016) MacBook Pro Retina 15″ (Mid 2015) MacBook Pro Retina 13″ (Late 2012)
1 (:) 45:54 43:15 1:15:37

, 2015- 2016- : «» , 4- (, ), . MacBook Pro Retina — 4K- .

2: Full HD

— , Full HD. event, Timeline .

  MacBook Pro 13″ (Late 2016) MacBook Pro 15″ (Mid 2015) MacBook Pro 13″ (Late 2012)
2 (:) 27:41 14:55 47:32

: 13- MacBook Pro 2016 15- MacBook Pro 2015 — .

, , .

3:

« », . Timeline, ( ) Transform ( ) , . :

  Final Cut Pro X

— Done, . :

  MacBook Pro Retina 13″ (Late 2016) MacBook Pro Retina 15″ (Mid 2015) MacBook Pro Retina 13″ (Late 2012)
3 (:) 17:27 08:33

, , MacBook Pro. , . , SSD 128 ( 120 ) Final Cut . , , Final Cut 20 , , . , , 128 SSD 256 .

MacBook, ( ). MacBook Pro 15″ .

4: Compressor

: Apple Compressor. Final Cut Pro X File / Send to Compressor.

Compressor (, ), Add Outputs Publish to YouTube / Up to 4K. ? — , ( SSD ), , «» .

  Compressor

Start Batch — .

, , :

  MacBook Pro Retina 13″ (Late 2016) MacBook Pro Retina 15″ (Mid 2015) MacBook Pro Retina 13″ (Late 2012)
4 (:) 15:38 06:17

, . 2012 , .

BlackMagic DaVinci Resolve

— BlackMagic DaVinci Resolve. 12.5. — . « , , , ».

, , Final Cut Pro X, , macOS. , , Apple Apple (, , DaVinci Resolve Apple).

, . , DaVinci Resolve, , .

  DaVinci Resolve

, , 4-, Generate Optimized Media.

  DaVinci Resolve

. .

  DaVinci Resolve

:

  MacBook Pro Retina 13″ (Late 2016) MacBook Pro Retina 15″ (Mid 2015) MacBook Pro Retina 13″ (Late 2012)
BlackMagic DaVinci Resolve (:) 12:45 05:26 29:54

— . — 15- MacBook Pro. , , : , 4- , .

Apple , . , Terminal. : , ( — iOS-, Xcode), , , .

, Python 2. Python 2.7.13 (17,1 ). , . «», : $ cd ~/Downloads

: $ tar xvzf Python-2.7.13.tar

: $ cd Python-2.7.13

: $ ./configure

   Terminal

- . : $ time make -j 3

( «3» — + 1; , 5 . .).

   Terminal

: real — , user — , sys — . — real.

   Terminal

— . Linux 4.9.6 (93,2 ), (, The Unarchiver), Terminal, $ cd ~/Downloads/linux-4.9.6 ( «», Downloads ).

$ time grep -R ixbt * «ixbt» . - , «linux», , , «ixbt», . , , — . : .

   Terminal

. .

  MacBook Pro Retina 13″ (Late 2016) MacBook Pro Retina 15″ (Mid 2015) MacBook Pro Retina 13″ (Late 2012)
Python 2, : 0:51 0:42 1:19
, : 0:40 0:15 0:43

, , .

, - , «» , Final Cut Pro X Compressor, (, , ), Terminal, . , , : , , , .

, . .