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.