[Digikam-devel] High memory footprint (lcms)

Andi Clemens andi.clemens at googlemail.com
Fri Dec 23 16:35:49 GMT 2011


Hi,

I wanted to check why digiKam has such a high memory footprint when it  
just starts (180 MB on my system), and one reason I found are the  
ICCProfiles.
We read the profiles from the hardddisk (in my case:  
/usr/share/color/icc), which contains 25 MB of data. We load those bytes  
into memory, but also
create an cmsHPROFILE in IccProfile::open(), which also contains those 25  
MB in the end.
So when loading ICCSettings, digiKam already wastes 50 MB of RAM.

Sure we need to load the ICCSettings, but we do not need the data twice.
Wouldn't it be enough to just keep the cmsHPROFILE handle in ICCProfile  
(d->handle), and delete the data (d->data) after successful loading of the  
profile?

This will prevent us from wasting a lot of RAM.
Unfortunately, a lot of functions need to be changed to work only with the  
handle (if that is even possible).

Andi


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/



More information about the Digikam-devel mailing list