14 Oct 2011

Checking how DITA-OT would benefit from parallel processing. Changing keyref write processing to be run in multiple threads, the results for module execution times are:

(Test document is part of DITA 1.2 spec, on a 4 core processor with hyper-threading; only one test run per thread)

I haven’t checked how the memory consumption will grow, but it’s not too bad for keyref processing. I Implemented the parallelization with java.util.concurrent.ExecutorService and the resulting code is pretty easy to read. If I add the parallel processing enhancements to DITA-OT core, the default will be the old single thread processing.