kamnani opened a new pull request #340:
URL: https://github.com/apache/tomcat/pull/340


   Tomcat Takes quite a bit of time to start the server if there are 1000's of 
Jar's in the class path. This wastes a lot of developer time, where we need to 
start and stop the server quite often. 
   This pull request has a couple of optimizations that reduces the server 
startup time : 
   
   1)  Accelerate classloading
   
   *Optimization 1:  *Cache and maintain file handles for each jar.  This adds 
1MB of old generation memory but eliminates 100,000,000+ file open/close 
operations.
   
   *Optimization 2: *Cache the contents of each jar in memory via a Bloom 
filter.  This adds 1.5MB of old generation memory but eliminates 100,000,000+ 
archive lookups.
   
   2) Parallelize annotation scans
   
   Tomcat searches the entire classpath for all instances of certain 
annotations, such as @WebServlet, @WebFilter, @MultipartConfig, etc.  This is 
performed by scanning each classpath entry sequentially.
   
   *Optimization:  *Scan the jars in parallel.  
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



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

Reply via email to