Тестирование производительности процессора силами ffmpeg.
Часто в обзорах процессоров встречаюсь с тестами, которые нереалистичны с точки зрения обычного пользователя чуть менее чем полностью, вроде всяких линпаков и вычисления числа Pi.
Вот, по моему скромному мнению, куда более реалистичный сценарий использования - декодирование видео, который позволяет оценить "запас прочности" системы в повседневном использовании. Иными словами, скажем, что если система не справляется с декодированием актуального видеокодека в 1080p/30fps, ей скоро пора на пенсию.
Аппаратное декодирование здесь - это отдельный вопрос. И так, методика тестирования предельно проста.
Качаем Big Buck Bunny, скажем 4K/30fps (не самый тяжелый вариант, в самом деле):
wget http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_su...Теперь прогоним ffmpeg:
time ffmpeg -i ./bbb_sunflower_2160p_30fps_normal.mp4 -f null - -benchmark
В итоге на моем AMD FX-6300/3.9 выходит:
ffmpeg version 2.8.11-0ubuntu0.16.04.1
frame=19036 fps=102 q=-0.0 Lsize=N/A time=00:10:34.60 bitrate=N/A
video:1785kB audio:356706kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=1042.712s
bench: maxrss=344196kB
real 3m6.276s
user 17m22.776s
sys 0m4.224s
Как видно, жить еще можно. Если еще пару-тройку человек протестят свои компы, сделаю сводную диаграмму.
У меня пока все.
эм "прогоним ffmpeg" и куча комментариев без вопроса "как это сделать?" явно показывает что я тупой. Но всё же - что сделать для "прогона" то надо?
Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz
frame=19036 fps= 70 q=-0.0 Lsize=N/A time=00:10:34.60 bitrate=N/A speed=2.35x
video:9815kB audio:356706kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=705.860s
bench: maxrss=364884kB
real 4m30.337s
user 11m45.896s
sys 0m3.364s
Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz (HT off)
ffmpeg version 3.3.1
frame=19036 fps=178 q=-0.0 Lsize=N/A time=00:10:34.60 bitrate=N/A speed=5.93x
video:9221kB audio:356706kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
bench: utime=352.273s
bench: maxrss=388024kB
real 1m47,172s
user 5m52,297s
sys 0m1,270s
А это точно тестирует процессор, а не видеокарту (хоть и встроенную в процессор) и аппаратную поддержку кодирования/декодирования?
Я на своем примере тестировал производительность по распознаванию лиц на фотке (писал небольшую либу). На Rpi3 процесс занимает около 30 секунд. На моем ноуте 0.3 сек (в 100 раз!!!), на nano машинке с амазона - 0.5 сек.
А вообще, есть готовые паки тестов из кучки разнообразных тестов, их комбинация хорошо покажет, как процессор ведет себя в самых разных ситуациях.
Я в таких случаях файл в tmpfs клал, чтобы в диск не упираться.