hmm,

a common scanner already exists through xbean no?

- Romain


2011/10/21 Mark Struberg <[email protected]>

> you also have to distinguish between:
>
>
> 1.) classpath scanning time itself
> 2.) information extraction from the scanned classes
>
> As a whole container, we can reduce 1.) because this part could be shared
> between OpenEJB, OpenWebBeans, Tomcat, MyFaces, etc (all libs which do
> classpathscanning on their own currently). A few weeks back I dropped a
> classscanner proposal to the commons list.
>
> A rudimentarily working example is on my github [1] though there is lots of
> work needed in the filtering part still.
>
> The fundamental idea is that once the first 'classscan-client' requests a
> scanning result, the 'classscan-server' will load all registerd
> 'classscan-clients' and will ask them what they need to scan for (marker
> files, which annotations, etc). Then it will do all the scan (via davids
> xbean-finder) in 1 go and afterwards the 'classscan-clients' can get the
> result of the scan which they requested. If a 'classcan-client' doesn't need
> the information anymore (all needed info stored into internal data
> structures after the bootup for example), it can unregister() itself so the
> classscan-server can free the memory.
>
> a.) first benefit is that we only do one physical class scan and bytecode
> parsing -> safes time
> b.) most libraries use Class.getAnnotations() Method.getAnnotations(), etc
> which fill up the PermGenSpace heavily (and permanently) because there are
> no methods in the ClassLoader to drop this information later. If we just
> store this info in standard Maps (via xbean-finder), then we can just clear
> the maps and release the memory once it's not needed anymore
>
>
> LieGrue,
> strub
>
> [1] https://github.com/struberg/Apache-commons-classscanner
>
>
>
> ----- Original Message -----
> > From: Romain Manni-Bucau <[email protected]>
> > To: [email protected]
> > Cc:
> > Sent: Thursday, October 20, 2011 10:43 PM
> > Subject: openejb jrat
> >
> > Hi,
> >
> > following the start up time of openejb i wondered where we were loosing
> time
> > exactly (even if scanning seems to be a good candidate),
> >
> > to have results just extract the zip, run start.sh (or something similar,
> > there is only one line in the script ;)) and when the window is opened
> open
> > the file openejb.jrat). Then go to hierarchy tab and you'll...that 60% of
> > the startup time is due to scanning.
> >
> > here are the info: http://people.apache.org/~rmannibucau/jrat.output.zip
> >
> >
> > - Romain
> >
>

Reply via email to