tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Lin <>
Subject Re: Object pooling performance
Date Tue, 08 Jul 2003 19:17:39 GMT
I second remy's summary. from first hand experience with JSP with 200 tags, tag pooling provide
significant performance improvement. From what I saw in OptimizeIt, with jasper1 and 200+
tags per page, garbage collection was happening frequently and full GC was occuring way too
with tag pooling in jasper2, that changed the GC behavior and resulted in significant improvement
with 5 or more concurrent requests.
peter lin

Glenn Nielsen <> wrote:
Remy Maucherat wrote:
> Bill Barker wrote:
>> Now, if we could only convince the Jasper developers of this ... ;-).
> Tag pooling is definitely not the same situation and use case as session 
> pooling. Tag pooling *is* useful in many cases.

There are a number of things to consider when evaluating the performance of
object pooling.

The performance hit of obtaining/recycling an object can be greater than
instantiating a new object, it depends on the JVM.

But you also have to consider the impact on GC. One big impact on performance
of Tomcat is the frequency of and the time it takes to do incremental and Full GC's.

Full GC's can be especially nasty. In most JVM's a Full GC freezes processing of
requests by Tomcat. I would rather have a slight performance hit from recycling objects
than see the frequency of Full GC's increase and the time they take increase.

I saw a huge performance boost when recycling of JSP custom tags was implemented in
Jasper. Most of that performance boost comes from reducing the frequency and length
of GC's.

To collect GC data add the -verbose:gc arg to java when you start Tomcat.



To unsubscribe, e-mail:
For additional commands, e-mail:

Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message