Thanks Romain,

I've been doing some simple profiling and investigating the single-thread issue further.

The findAnnotations method seems to be the slowest area on the hardware we're testing, and with a large app it accounts for over 85% of the startup time.

Could that be multithreaded without synchro issues?

I'm doing some work with Yourkit next to dig a bit deeper.

Best Regards,
Neale


----- Original Message ----- From: "Romain Manni-Bucau" <rmannibu...@gmail.com>
To: <users@openejb.apache.org>
Sent: Monday, April 16, 2012 1:51 AM
Subject: Re: TomEE startup performance


Hi Neale,

well you find a big part of the overhead: the scanning, you can add all
which is not done by tomcat (JPA, EJB init, CDI...). Well maybe tomcat +
webapp startup should be compared to a tomee + webapp startup.

you spoke about multithreading which seems to be a good idea but it can
lead to a lot of issues and maybe too much synchro = slower startup

to have a good idea of these use a profiler, you'll find very interesting
info.

- Romain


2012/4/14 Neale Rudd <ne...@metawerx.net>

Hi Guys,

Could someone explain in some more detail what exactly causes the slower
startup time in TomEE compared to Tomcat?

I imagine it's parsing classes, annotations etc.. but haven't looked at
that area of the code too much yet.

One thing I've noticed in our testing, is that it seems to be mostly
single-threaded, sitting at 100% on one core for most of the startup, which of course is painful on multi-core low-Ghz CPUs. Perhaps there could be a
-D flag to specify the number of threads to use for doing whatever it's
doing, like Java with it's ParallelGC threads.

The startup time should be reduced at the cost of higher initial CPU load.
 Ideas?

Best Regards,
Neale Rudd



Reply via email to