On 05/12/2013 08:08 AM, Dean Yu wrote:
Do you also prefetch inherited classes?

No. The prefetching is microscopic, in that it currently looks for classes that are referenced from the class being requested (in the hope that those referenced classes are likely needed soon.)

Also, can you measure the number of classes that were prefetched but never used?

Right, ideally I'd produce this in a format that allows some reasoning. Let's try that.


   -- Dean

On Saturday, May 11, 2013 2:10:18 PM UTC-7, Kohsuke Kawaguchi wrote:
(Context: see https://github.com/jenkinsci/remoting/pull/10)


I've got the new code working under the Maven job type to see the effect of 
prefetching. Here is the summary of classloader activities in building 
https://svn.jenkins-ci.org/trunk/jenkins/test-projects/model-maven-project/



Class loading count=801
Class loading prefetch hit=372 (46%)
Resource loading count=11



The new code manages to avoid sending individual class/resource file images on 
the wire completely, and they are instead all retrieved from locally cached jar 
files.



The prefetch hit ratio 46% means we were able to cut the number of roundtrips 
to 54% of what it was before. Interestingly, this 46% number is very consistent 
across different call patterns --- the slave itself had 48% prefetch hit ratio.



I haven't measured the difference in the number of bytes transferred.


I wonder what can be done to further improve the prefetch hit ratio.



The complete call sequence details at https://gist.github.com/kohsuke/5561414


--
Kohsuke Kawaguchi



--
Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/
Try Jenkins Enterprise, our professional version of Jenkins

--
You received this message because you are subscribed to the Google Groups "Jenkins 
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to