The 2-4% measure is taken with jprofiler; there's a fair amount of
native code within classloading - does anyone know how that affects
profiler measurement ?


 (I would suspect that since the profiler is incapable of
instrumenting native code it will report execution times without
"profiler skew" for these methods - hence the execution time for
these methods might be closer to *real* time...?)

Kristian


2013/8/8 Kristian Rosenvold <[email protected]>:
> Not much :) In the test builds I'm measuring (entire builds, not just
> core), class loading is 2-4% of
> the build CPU time (with -DskipTests). I have not (yet) done any
> empirical measurements
> to determine how much of that we could actually save. The current
> synchronzation in core
> means this change in itself has very little effect for core (and also
> no real danger
> of breaking anything).
>
> But this also opens up for plugins to do parallel classloading, which
> we have been effectively
> blocking on jdk7.
>
> Core is after all pretty efficient, if we were to make any
> *significant* performance improvements
> in core we'd have to go for higher-level optimizations, which are
> harder to find ;)
>
> Kristian
>
>
> 2013/8/8 Jason van Zyl <[email protected]>:
>> What the performance difference in loading classes in your stand-alone tests?
>>
>> On Aug 8, 2013, at 2:12 PM, Kristian Rosenvold 
>> <[email protected]> wrote:
>>
>>> I just committed an update to plexus-classworlds that permits
>>> concurrent classloading under jdk7.
>>>
>>> I would really appreciate it if anyone would care to review this
>>> patch, especially regarding thread safety (esp the use of guards
>>> to access the protected methods of the base classes, which is where
>>> the likely stuff might be).
>>>
>>> It's also possible to test this locally by building the snapshot
>>> version from github and replacing the
>>> plexus-classworlds-*.jar file in the "lib" folder of your maven
>>> installation. You probably want to be running with the -T option
>>> for a meaningful test.
>>>
>>> Dont expect significant gains until I am able to re-consider the
>>> synchronization in maven core regarding plugin
>>> construction, since that's pretty heavily synchronized atm. This is in
>>> the famous pipeline, and this patch is step 1.
>>>
>>> So if anyone wants to study the details of the new jdk7 class loaders
>>> and do a review at the same time, the
>>> commit can be found here:
>>>
>>> https://github.com/sonatype/plexus-classworlds/commit/bc9583c4883b07adf9806b8323691aa5085c023e
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>
>> Thanks,
>>
>> Jason
>>
>> ----------------------------------------------------------
>> Jason van Zyl
>> Founder,  Apache Maven
>> http://twitter.com/jvanzyl
>> ---------------------------------------------------------
>>
>> Script timed out
>>
>>
>>
>>
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to