Hi All,
I've taken some time to freshen up the libjpeg-turbo hosted at lp:libjpeg-turbo to be refreshed with the upstream 1.1.1 plus Mandeeps previous work. I thought as part of this effort I'd do some performance comparisons between this new cut of code and the much older non arm optimized libjpeg62.
For this test, I selected 3 ppms and 3 jpegs of the same image. The images are all color and are of the sizes : 1920x1024, 406x357 and 7227x3847. I placed the images inside of a ramdisk as well as would run the cjpeg and djpeg applications with time. Both cjpeg and djpeg and statically linked. I believe the libjpeg62 and libjpeg-turbo code using the current 4.5.2 version of gcc using the 0706 panda hwpack and LEB.
Note, while these numbers are interesting to a point, time is I believe the wrong tool to make this measurement. Instead the call to the jpeg code should have time stamps before and after the operation to get a better idea of the time used.
Numbers: cjpeg (ppm to jpeg conversion default parms) image size libjpeg62 libjpeg-turbo improvement (positive numbers are better) 1920x1024 real 0m0.522s real 0m0.452s +0.070s user 0m0.438s user 0m0.352s +0.086s sys 0m0.055s sys 0m0.070s -0.015s 406x357 real 0m0.086s real 0m0.085s +0.001s user 0m0.047s user 0m0.047s 0s sys 0m0.008s sys 0m0.008s 0s 7227x3847 real 0m3.812s real 0m4.075s - 0.263s user 0m3.461s user 0m3.711s - 0.250s sys 0m0.305s sys 0m0.328s - 0.023s
djpeg (jpeg to ppm conversion default parms) image size libjpeg62 libjpeg-turbo improvement 1920x1024 real 0m0.414s real 0m0.294s +0.120s user 0m0.273s user 0m0.156s +0.117s sys 0m0.109s sys 0m0.109s 0s
406x357 real 0m0.079s real 0m0.072s +0.007s user 0m0.023s user 0m0.016s +0.007s sys 0m0.023s sys 0m0.023s 0s
7227x3847 real 0m7.517s real 0m10.099s -2.582s user 0m2.047s user 0m1.242s +0.805s sys 0m0.813s sys 0m0.859s -0.046s
Further work: There are some additional patches from Michael Edwards, those were not part of this measurement tho I will be picking his patches up.
Better timestamp code instead of using time.