Profiling observations, ideas for optimization

Jason <[email protected]> Tue, 6 Jul 2004 14:00:50 -0700
Newsgroups gmane.comp.gnome.apps.gqview.devel
Message-ID <[email protected]>
I ran gqview 1.5.1 with valgrind and these were the results I got:
Gqview options were Zoom-nearest, zoom to original size.
The test was to let it thumbnail a folder with jpeg's ranging in size from 
about 100K-200K for 5 minutes or so.

Shouldn't matter too much but I compiled this all with:
-march=athlon-xp -O2 -ffast-math -g -pipe

29.20  jpeg_idct_islow  (jpeg-6b/jidctint.c line 181)
23.04  ycc_rgb_convert (jpeg-6b/jdcolor.c lines 144-153)
14.10  h2v2_fancy_upsample (jpeg-6b/jdsample.c lines 376-382)
8.83  decode_mcu (jpeg-6b/jdhuff.c lines 571-577 but mostly 572)
8.13  ??? [ctrn.S] (couldn't figure out what this meant)
< 3 everything else

Now I'm not much of a programmer so keep that in mind when reading my 
comments :)

After looking this over I have to wonder why gqview uses jpeg_idct_islow for 
rendering thumbnails instead of ifast.

Can't colorspace conversion and scaling be handled by the video card?

libjpeg code hasn't been touched in over 6 years! Shouldn't this stuff be done 
with mmx or sse these days? Maybe gqview could special case jpeg's and decode 
them itself?

Maybe I should post this somewhere else?

-Jason


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com