Berin Loritsch wrote:
> The ExcaliburComponentManager is much slower, and will be the result of
> most scalability
> issues in Cocoon. The ContainerManager starts faster, and runs
> faster--even though it
> does more work (with all the helper managers). The only area where
> ContainerManager is
> slower is on shutdown, although it is not that much slower. There is
> one more optimization
> that will assist on ContainerManager's init time (currently pools are
> initialized in the
> constructor--that will be moved to the initialize() method).
That change made init time roughly 2.5 times as quick as the ECM. Not much
change, but it adds up.
I think the best improvement has to do with the fact that each child component
has their own ComponentManager instance--which means that the instanceMap
used for each lookup() is unique to that component. This enables less thread
contention as each Component is used.
>
>
> [junit] Running
> org.apache.avalon.excalibur.system.test.ContainerProfile
> [junit] DEBUG 10140 [ ] (): added new LogTargetFactory of
> type file
> [junit] DEBUG 10140 [ ] (): added new LogTarget of id root
> [junit] DEBUG 10140 [ ] (): added logger for category
> test.test
> [junit] INFO 10140 [test ] (): Test Case:
> ECM_ContainerManager_StartTime
> [junit] INFO 10140 [test ] (): ECM time = 2494ms.
> [junit] INFO 10140 [test ] (): ContainerManager time =
> 1242ms.
> [junit] INFO 10140 [test ] (): => ContainerManager is 2.0
> X as fast as ExcaliburComponentManager on init.
> [junit] INFO 10140 [test ] (): =>
> ExcaliburComponentManager is 0.49 X as fast as ContainerManager on init.
> [junit] INFO 10140 [test ] (): Test Case: Test Case:
> ECM_ContainerManager_UseageTime
> [junit] INFO 10140 [test ] ():
> AbstractContainer$ContainerComponentManager time = 2293ms. to use 50000
> calls on 3 components.
> [junit] INFO 10140 [test ] ():
> ExcaliburComponentManager time = 212596ms. to use 50000 calls on 3
> components.
> [junit] INFO 10140 [test ] (): =>
> AbstractContainer$ContainerComponentManager is 92.71 X as fast as
> ExcaliburComponentManager.
> [junit] INFO 10140 [test ] (): =>
> ExcaliburComponentManager is 0.01 X as fast as
> AbstractContainer$ContainerComponentManager.
> [junit] INFO 10140 [test ] (): Test Case:
> ECM_ContainerManager_KillTime
> [junit] INFO 10140 [test ] (): ECM time = 10ms.
> [junit] INFO 10140 [test ] (): ContainerManager time =
> 551ms.
> [junit] INFO 10140 [test ] (): => ContainerManager is 0.01
> X as fast as ExcaliburComponentManager on dispose.
> [junit] INFO 10140 [test ] (): =>
> ExcaliburComponentManager is 55.1 X as fast as ContainerManager on dispose.
> [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 222.991 sec
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]