tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 36541] - session getAttribute/setAttribute and removeAttribute are NOT Thread safe.
Date Thu, 08 Sep 2005 11:48:09 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=36541>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=36541





------- Additional Comments From struts_user@anotheria.net  2005-09-08 13:48 -------
(In reply to comment #28)
> This means you've tested with 5.5.x, and reproduced an issue ? Or written a
> microbenchmark showing a problem with reads ? All I can see is that you're
> saying "issue on read, 5.5.x same problem" like a broken record.

No this means that the statement of the HashMap authors:
 * <p><b>Note that this implementation is not synchronized.</b> If multiple
 * threads access this map concurrently, and at least one of the threads
 * modifies the map structurally, it <i>must</i> be synchronized externally.
also applies to x Reader, one Writer, so synchronizing "writes only" is a
misusage of the HashMap according to the documentation. 

On the other hand, I made some measures and calculated how much performance you
gain by removing synchronization from get/set methods. 
I compared the performance of synchronized hashmap access against not
synchronized (singlethreaded, pIV 2.8 Ghz, HT) and calculated that you gain 230
milliseconds on 3,000,000 operations! 
That is 0.00008 milliseconds per operation. Even you would have 100 accesses to
the session from 100 parallel threads, it would cost you additional 8 milliseconds. 
According to alexa.com we have an average response time of 0.8 seconds (for the
user) and are faster then 80% of the net (google's average is 0.7). I don't know
how many sites are faster, lets assume the fastest are at about 0.5 seconds (and
sites making 100 session accesses in one request surely do not belong in this
category). So if your average request duration is 500 millis, how important is
it for you to gain 0.00008 milliseconds, or even 0.8 milliseconds?


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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


Mime
View raw message