2016 Cross Platform Handbrake Benchmark

      Handbrake benchmark using custom compiled code for all Linux platforms. The only pre-compiled code was on Windows for the E-350, i5-2537M, and i5-4670K.

The Players
      Raspberry Pi B+ (single-core ARM11) - Raspbian
      CI20 (dual-core MIPS32R2) - Debian
      Pandaboard ES (dual-core ARM A9) - Ubuntu
      Raspberry Pi-2 (quad-core ARM A7) - Raspbian
      Raspberry Pi-3 (quad-core ARM A53) - Raspbian
      ODROID XU4 (quad-core ARM A15/quad-core ARM A7) - Ubuntu 15.10
      Penguin Computing Valkre 2012 (48-core Cavium ThunderX ARM) - Ubuntu 16.04
      Via Nano - single-core 1.6GHz - WindowsXP
      E-350 - dual-core 1.6GHz - Windows 7
      Via QuadCore 1.2GHz/???GHz - CentOS
      Core i5 2537M - dual-core 2.3GHz/1.40GHz - Windows 7
      Core i5 4670K - dual-core 3.4GHz/3.8GHz - Windows 7

      Handbrake command used (with variations on path to the source and save location):
HandBrakeCLI -i "/tempmnt/~temp/backup/TEARS TO TIARA DISC 1" -o "/tempmnt/~temp/TestEpPanda.mp4" -w 1920 --loose-anamorphic -t 5 -m -e x264 --x264-preset placebo --x264-tune animation --x264-profile main -b 3600 -2 --audio 1,3 -B 160 --mixdown stereo --subtitle 2
      "--x264-preset" was varied to change the motion estimation quality.

      Note 1: As the motion estimation quality increases, the RAM required by Handbrake also increases. Most systems with only 1GB of RAM were unable to complete the task beyond the 'medium' or 'slow' settings. As I have significant trouble telling 'slow' and 'slower' appart, for nearly all users, 'slow' would be fine.

      Note 2: On the CI20, simply telling GCC to use mips32r2 instead of the default mips-2 instruction set for Handbrake results in a non-trivial speed increase. Vector instructions would buy significantly more. An even larger improvement was seen on the ODROID, but I only documented the correct setting.

      Note 3: Handbrake simply does not scale beyond about 8-12 cores. The single threaded parts of Handbrake dominate the encode time. The ThunderX is able to encode 4 videos simultaniously in the same time it takes to encode one. Encoding 5 only slows it down a bit.

      Note 4: I believe that the Pi 3 may have been overheating or had an under perfroming power supply, which lead to slower than expected performance.

Handbrake Encode Speeds
Handbrake Encode Speeds Zoomed In
      This is all pretty old news now. I should have posted this in 2016, not the end of 2017. Now, if only the Windows GUI of Handbrake would export CLI commands I could more easily task my ThunderX.

Main Page