From: Robin W. <rob...@ar...> - 2013-05-14 17:54:22
|
On 14/05/2013 09:20, Richard Hughes wrote: > Other than profiling, how do we know if it's chosen a built-in version > rather than the generic version? I initially used profiling, but then I added some code to capture what transforms were used. This is also on the same branch I pointed you at before. A direct link is: https://github.com/robinwatts/Little-CMS/commit/585c6191363a0989cb80e628529f985bf298c95a Should be straightforward (enable the 'GATHER_TRANSFORM_STATS' #define in the patch) and run your code. On exit it will dump the stats to stderr. > I see, https://github.com/robinwatts/Little-CMS/blob/artifex/src/cmsxform.h > -- that looks pretty magic, is there no way to do that without the > #preprocessor trickery? Not without expanding out every case separately - exactly what I wanted to avoid. You shouldn't need to understand the implementation in cmsxform.h though - you just need to look at cmsxform_extras.c for how to use it. >> He did however point out that I could recast the code slightly as a >> plugin for lcms 2. This gives the same benefits without polluting the >> internals of the library itself. I plan to do this at some point, but I >> have not got round to it yet. > > Yes, that would be awesome. The new lcms is due in June I think. We'll probably pull that into gs and recast our optimisations as a plugin lib then. HTH, Robin |