cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <>
Subject Experimental lazy-loading in ECM++
Date Wed, 05 Jan 2005 17:44:50 GMT
Hi all,

I (once again) did some refactoring in ECM++ to implement a lazy-loading 
strategy for components. Using this strategy, a component is loaded 
(including it's class) only when looked up. This heavily reduces 
Cocoon's initialization time.

Some quick measurement of the time spent in Cocoon.initialize() and 
Cocoon.process() for the first request on my laptop give the following 
numbers (in seconds):
- standard "load all" strategy : initialize - 13.6 / process - 4.4
- lazy loading strategy : initialize - 3.3 / process - 3.7

The purpose of this mode is to leverage the autocompiling classloader, 
by making it usable to automatically restart Cocoon whenever an 
automatically-compiled class is modified. We would then have the 
type-safety and IDE-friendlyness of Java combined with the hot-reload 
abilities of scripted languages.

This lazy mode is not activated by default. To use it, set 
JAVA_OPTIONS="-Dorg.apache.cocoon.core.LazyMode=true" before starting 
" servlet".

ECM++ can be made even more lazy, so expect some more speedup soon.


Sylvain Wallez                                  Anyware Technologies 
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }

View raw message