On Fri, Nov 18, 2011 at 4:27 PM, Vincent Massol <[email protected]> wrote:
> Hi devs,
>
> I've been finding that Jetty takes a lot of time to start lately. So I've run 
> some profiling on it.
>
> Starting Jetty (till the STARTING message) takes 15 seconds on my machine (in 
> debug mode, we win 3 seconds, ie 12s start time), split like this:
>
> * 50% of the time spent scanning jars in WEB-INF/lib 
> (JarInputStream.getNextJar()) - 7s
> * 10% in Jetty itself - 2s
> * 40% in our code in Extension Manager init (2.5s) and in Component 
> registration from their annotations (2.5s) - 5s
>
> If I remove the start of the EM in XWikiServletContextListener, we start in 7 
> seconds (instead of 15s)
>
> If I try to start Jetty without any webapp, it starts in 500ms.
>
> If I remove the oldcore legacy jar (2.5MB) we win 1 second in start up time.
>
> Note: This is all before XWiki.init() is called on the first request.
>
> Analysis of ComponentAnnotationLoader (2.5s):
> * 1.2s just loading classes from the CL
> * 1s getDeclaredFields (reflection API)
> * 800ms initializing SLF4J
>
> Analysis of Extension Manager init (2.5s):
> * In DefaultCoreExtensionScanner.loadExtensions():

It's possible you get better result on this method in general since
https://github.com/xwiki/xwiki-platform/commit/3b78001e3add0600467849c25a4d61e7effeb190

> ** 500ms URL.toURI()
> ** 500ms MavenXpp3Reader.read() - POM reading
> ** 150ms org.Reflections scanning
> ** 150ms resource loading from CL (getResourceAsStream())
> * In DefaultExtensionLicenseManager.initialize()
> ** 314ms in org.Reflections
> * 130ms of loading xwiki.properties
>
> Conclusion
> =========
>
> * XWiki's size in number of JARs and their sizes makes it long to start Jetty.
> * We could make some small optimizations in EM and Component loading but we 
> wouldn't win that much, on the order of 2s in total (i.e. 15% of total load 
> time)
>
> Thanks
> -Vincent
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to