libxml is now thread-safe, and we need to optimize libxslt code to make it scalable among multiple processors. Right algorithm idea is in the attached perl script - this will allow speed up transformation about as much as many processor cores are available in the system.
We will privide some test and bench tools (perl using libxslt) upon wich we will estimate the results.
As a result we need patches for the latest libxslt version.
Patches must produce working code for gcc, intel compiler and "sun studio" and work under SunOS, FreeBSD and Linux. If patch will work under Windows - even better, but that's not required.
We will make final code review and may reqest some stylistic/logic improvements, if needed.
New code must work at least 4 times faster on 6 cores than current single-threaded libxslt (though we believe it should work about 5.3 times faster).