On Tue, 6 May 2014 14:24:06 +0200
Clement Wong <c...@clement.hk> wrote:

> Hi Siarhei,
> 
> Thanks for you great work (again), I had to throw out djpeg/cjpeg version 
> check to make it work, here’s my version.

Thanks a lot for trying the test script on your hardware. Checking
more devices will allow us to collect the necessary statistics.
 
> root@debian:~/cpuburn-arm# echo  `djpeg -v </dev/null 2>&1`
> Independent JPEG Group's DJPEG, version 8d 15-Jan-2012 Copyright (C) 2012, 
> Thomas G. Lane, Guido Vollbeding Empty input file
> root@debian:~/cpuburn-arm# echo  `cjpeg -v </dev/null 2>&1`
> Independent JPEG Group's CJPEG, version 8d 15-Jan-2012 Copyright (C) 2012, 
> Thomas G. Lane, Guido Vollbeding Empty input file

Maybe I forgot to explain this properly, but using specifically
libjpeg-turbo is really important. Here is a quick demonstration:

This is libjpeg-turbo:

lime ~ # djpeg /usr/share/backgrounds/xfce/xfce-blue.jpg|md5sum
36d69c42de928918461791a10d4c8e97  -
lime ~ # djpeg /usr/share/backgrounds/xfce/xfce-blue.jpg|md5sum
9a68b3bd68b6829e0ffac0776284c862  -
lime ~ # djpeg /usr/share/backgrounds/xfce/xfce-blue.jpg|md5sum
8071d0bfc2f361a2dd94736dab1a4b91  -

And this is http://ijg.org/files/jpegsrc.v8d.tar.gz (jpeg-8d):

lime ~ # /tmp/jpeg-8d/djpeg /usr/share/backgrounds/xfce/xfce-blue.jpg|md5sum
d5714523b7e9a964888c34c6f65572dd  -
lime ~ # /tmp/jpeg-8d/djpeg /usr/share/backgrounds/xfce/xfce-blue.jpg|md5sum
d5714523b7e9a964888c34c6f65572dd  -
lime ~ # /tmp/jpeg-8d/djpeg /usr/share/backgrounds/xfce/xfce-blue.jpg|md5sum
d5714523b7e9a964888c34c6f65572dd  -

The important difference between these two is the performance:

# cpufreq-set -f 60MHz
# time djpeg /usr/share/backgrounds/xfce/xfce-blue.jpg>/dev/null

real    0m1.511s
user    0m1.450s
sys     0m0.050s

# cpufreq-set -f 60MHz
# time /tmp/jpeg-8d/djpeg /usr/share/backgrounds/xfce/xfce-blue.jpg>/dev/null

real    0m4.398s
user    0m4.230s
sys     0m0.140s

We have NEON optimizations and almost 3 times better performance with
libjpeg-turbo. It can literally run circles around the regular libjpeg.

The whole purpose of the test script is to expose hardware
misconfiguration and stability issues. Some workloads are more
stressful for the hardware than the others. And libjpeg-turbo
appears to be one of the most stressful workloads. It's kind of
like sprinting at full speed is much more likely to expose health
problems than just casual walking :-)

But it's really sad that certain linux distributions are so slow
to pick up NEON optimizations even after so many years since they
have been introduced. Here is one more unfortunate example of good
for nothing "modern" distro packaging:
    http://irclog.whitequark.org/linux-sunxi/2014-05-05#8889663;

Anyway, I have now extended the script to automatically download
and compile libjpeg-turbo if it is not provided by the default
packaging in the user's linux distribution. Another alternative
would be to rely on a pre-built arm static binary of djpeg from
libjpeg-turbo.

-- 
Best regards,
Siarhei Siamashka

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to