You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2014/08/13 22:18:46 UTC

[Bug 56838] Performance drop when repeatedly calling WebappClassLoader.loadClass for the same class

https://issues.apache.org/bugzilla/show_bug.cgi?id=56838

Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Performance drop when using |Performance drop when
                   |XML                         |repeatedly calling
                   |                            |WebappClassLoader.loadClass
                   |                            |for the same class
           Severity|normal                      |enhancement

--- Comment #8 from Mark Thomas <ma...@apache.org> ---
I have updated the summary to reflect our better understanding of this issue.

I have also moved this to an enhancement request.

This is really a case of what case(s) do we optimise for. The parameters in
play are:
- division of required classes between webapps, container and JRE
- how many times a request to load the same class will be made
- setting of delegate option

On top of this there are the spec mandated rules about class loading that we
have to follow.

I agree that the issues Konstatin raised in comment #7 makes a solution along
those lines unlikely to be practical.

I do come back to the idea of a cache. I am currently pondering the idea of a
cache that maps class name to class loader so that once a class has been loaded
(or a CNFE thrown) subsequent requests to load that class skip all the tests in
WebappClassLoader.loadClass() and go directly to the correct class loader (or
throw CNFE). I think I'll experiment along these lines and see what difference
it makes to this test case and to the start time of a complex application like
Jira.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org