[Lcms-user] Multi-Threading Best Practices

2010-12-17 Thread Adam Augusta
There have been a few posts about multi-threading on this list, but I'm still a little fuzzy on best practices. So let me rattle off a few questions and factoids, then propose best practices to see if they sound reasonable. * My understanding is that if I don't want to enable pthreads or disable

Re: [Lcms-user] Multi-Threading Best Practices

2010-12-17 Thread Marti.Maria
Hi Adam, Actually is a lot more simple. ContexID is nothing else that a void pointer that user can associate to profiles and/or transforms. It has no meaning. Is just a sort of used defined cargo that you can use on your convenience. lcms does nothing with that . It has no relationship with

Re: [Lcms-user] Multi-Threading Best Practices

2010-12-17 Thread Adam Augusta
Excellent. Thank you very much for your feedback, Marti. On your advice, I'm tempted to disable the cache and skip thread pooling, but there's one problem. If cmsDoTransform signals an error, I'd like to throw an exception. I can't throw an exception in the callback method, so I'd have to match

Re: [Lcms-user] Multi-Threading Best Practices

2010-12-17 Thread marti.ma...@littlecms.com
Hi Adam, cmsDoTransform() never signals an error. If you take a look on the prototype, it has no return code and it does not call the error handler. The transform construction may fail, but once you get a valid transform you are granted to be able to apply it without any error. You already have

Re: [Lcms-user] Multi-Threading Best Practices

2010-12-17 Thread Bob Friesenhahn
On Fri, 17 Dec 2010, Marti.Maria wrote: > > On the other hand we have the 1-pixel cache. This is very convenient on slow > interpolation methods when > most of the pixels in the image are similar. Obviously, caching means the > transform should store the > result of last processed pixel, then in