
On Fri, 2008-03-14 at 22:13 -0700, Bryce Harrington wrote:
Multithreading and even distributed computing seem to be the future, something Inkscape will face sooner or later. Since cleanup will be done now it seems natural to incorporate it into the plan (sooner).
Good point; yes this has come up in the past and iirc the conclusion was always that some significant refactoring would be needed to bring the code closer to being able to run in a threaded fashion. I don't recall specifics, but if we could take steps to close that gap, it could make it more feasible to achieve. Mental - any thoughts here?
The main thing is eliminating tight coupling between subsystems, after which point we can make individual subsystems threaded/threadsafe.
There are some secondary concerns with libraries as well; for example libgc does not work well with threads that were not created via its thread wrappers. The upcoming version of libgc (7.2?) will have some additional thread registration functions which can be used to address that issue, but it's not released yet and even once it is it'll be a while before it hits distributions.
-mental