Hi I managed to cut more time in camel-core and camel-spring. Now I am down to 21m for camel-core and 7m for camel-spring, when running on my laptop.
1) The trick is to lazy load the type converters. And if you use custom type converters in unit tests, then put them into small packages so Camel dont have to scan 100+ classes because you put them into a package with many unit tests. 2) Another optimizations was to add some more basic converters String -> Integer etc. that we used to have a JDK properties editor to converter for us. But the JDK properties editor is a fallback converter, so what happened normally, would be that camel would do a classpath scan for a String -> Integer type converter, and if still none found, then fallback and use that JDK properties editor. Now by adding those very common used combinations of Integer <-> String etc. then that dont happen and we can rely on the type converters from camel-core, which is now loaded "hardcoded". 3) I also checked if we could optimize loading Camel components, eg it load those component scheme files from META-INF/services/. But there is no speed gain there, as we use a FQN to load the resource from classpath, and that is very fast also. 4) And another optimization was to reduce camel components from using camel-core-test.jar and camel-spring-test.jar as they are very big, and just add up and cause among others type convert scanning to be slower. For example I cut 30s in camel-mina. 5) And I found some unit tests in camel-core which I could cut down time with reducing delays, memory usages, and some sleep as well. That gained about 1m. -- Claus Ibsen ----------------- FuseSource Email: cib...@fusesource.com Web: http://fusesource.com CamelOne 2011: http://fusesource.com/camelone2011/ Twitter: davsclaus Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/