From 6627efa44fb3bc79b5cae7c9c837e0cee364faa0 Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Wed, 2 Dec 2015 16:16:01 +0100 Subject: [PATCH] Performance analysis of multi-core decoder --- tests/results/multicore/README | 40 ++++++++++++++++++++++++++ tests/results/multicore/multicore.ods | Bin 0 -> 42291 bytes 2 files changed, 40 insertions(+) create mode 100644 tests/results/multicore/README create mode 100644 tests/results/multicore/multicore.ods diff --git a/tests/results/multicore/README b/tests/results/multicore/README new file mode 100644 index 00000000..ffeca4e6 --- /dev/null +++ b/tests/results/multicore/README @@ -0,0 +1,40 @@ +This directory contains the evaluation of the multi-core implementation +in the decoder. The baseline is the performance before the addition of +the DecodeManager class. + +Tests were performed on the following systems: + + - eLux RP Atom N270 1.6 GHz + - Lubuntu 13.10 i.MX6 Quad 1.2 GHz + - Fedora 22 i7-3770 3.4 GHz + - Windows Vista Core 2 Duo E7400 2.8 GHz + - Windows 10 i3-4170 3.7 GHz + - OS X 10.6 Core 2 Duo 2.53 GHz + - OS X 10.11 i5 2.3 GHz + +The systems were tested with: + + a) The old, baseline code + b) The new code with all CPUs enabled + c) The new code with only one CPU enabled + +The test itself consists of running decperf on the test files from the +TurboVNC project. Rate of decoding is then compared to the baseline. +Note that the CPU time is divided by core usage in the multi CPU cases +in order to derive total decoding time. This method is sensitive to +other load on the system. + +On average, there is no regression in performance for single CPU +systems. This however relies on the addition of the single CPU shortcut +in DecodeManager. Without that the performance sees a 10% lower rate. + +Dual CPU systems see between 20% and 50% increase, and the quad core +systems between 75% and 125% on average. OS X is an outlier though in +that it gets a mere 32% increase on average. It is unknown why at this +point and tracing doesn't reveal anything obvious. It may be because it +is not a true quad core system, but rather uses HyperThreading. + +So in summary, the new code can do a noticable improvement on decoding +time. However it does so at a cost of efficiency. Four times the CPUs +only gives you about twice the performance. More improvements may be +possible. diff --git a/tests/results/multicore/multicore.ods b/tests/results/multicore/multicore.ods new file mode 100644 index 0000000000000000000000000000000000000000..42e024d6d803a494a79265007871bfaa9c5b9267 GIT binary patch literal 42291 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 W4~7Gv@<1SR;N=NWr>gR=kNyXR_hw80 literal 0 HcmV?d00001 -- 2.39.5