[argyllcms] Firefox qcms vs. lcms vs. Argyll imdi

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Thu, 11 Nov 2010 17:36:49 +1100

Just for giggles, I modified Firefoxes qcms's lcms-compare program, that
benchmarks little cms against qcms, to also benchmark Argyll's imdi code.

qcms seems to have optimized intel sse3 code to do matrix shaper RGB->RGB
conversions, and its speed advantage over lcms was justified as one
reason for removing lcms from Firefox and replacing it with qcms.
(The other reason was the spurious claim that lcms had security

The test converts just over 16 million 8 bits per sample RGB pixels
(ie. a 256 * 256 * 256 * 3 grid), and I used the sRGB profile as the source
and destination. I'm running this on an intel MacBook with OS X. The last
1.xx version of lcms was used (I'm not sure if 2.xx of lcms is likely to
be faster). The results I got were:

lcms   267
argyll  65
qcms    32

So qcms is about twice as fast as Argyll's imdi, but note that Argyll is doing
a completely general tetrahedral transform written in portable C code,
vs. qcms's processor specific, matrix only transform code, so I'm not too
disappointed with this (a 64 bit compile of Argyll's imdi may go faster again 
as might lcms.)

Then I tested cLUT versions of the sRGB profile:

lcms   301
argyll  69
qcms   n/a

qcms refused to work ! So not only does it not support ICC V4 profiles as lcms 
it can't actually handle a normal range of ICC V2 RGB profiles (in fact it 
which may mean that there is a bug in rejecting profiles it doesn't like.)

Graeme Gill.

Other related posts: