atom feed18 messages in net.java.dev.phoneme.advancedRe: CVMstoreImpl assembly code
FromSent OnAttachments
phon...@mobileandembedded.orgJul 26, 2007 11:09 pm 
phon...@mobileandembedded.orgJul 27, 2007 7:23 am 
phon...@mobileandembedded.orgApr 18, 2008 7:45 am 
phon...@mobileandembedded.orgApr 18, 2008 9:55 am 
phon...@mobileandembedded.orgApr 22, 2008 10:15 am 
phon...@mobileandembedded.orgApr 23, 2008 9:28 am 
phon...@mobileandembedded.orgApr 23, 2008 11:33 pm 
phon...@mobileandembedded.orgApr 23, 2008 11:35 pm 
phon...@mobileandembedded.orgApr 24, 2008 8:22 am 
phon...@mobileandembedded.orgApr 24, 2008 8:27 am 
phon...@mobileandembedded.orgApr 24, 2008 10:53 pm 
phon...@mobileandembedded.orgApr 26, 2008 11:12 pm 
phon...@mobileandembedded.orgApr 28, 2008 12:21 am 
phon...@mobileandembedded.orgMay 5, 2008 4:36 am 
phon...@mobileandembedded.orgMay 5, 2008 4:41 am 
phon...@mobileandembedded.orgMay 5, 2008 2:22 pm 
phon...@mobileandembedded.orgMay 9, 2008 3:45 am 
phon...@mobileandembedded.orgMay 9, 2008 8:21 am 
Subject:Re: CVMstoreImpl assembly code
From:phon...@mobileandembedded.org (phon@mobileandembedded.org)
Date:May 5, 2008 2:22:21 pm
List:net.java.dev.phoneme.advanced

I got similar results on linux/x86. However, on linux/arm the default version
was faster, and I believe it uses CVM_FASTLOCK_MICROLOCKS.

If you have it allocate a new object on each iteration, you'll find that the
time difference becomes much smaller. So it seems that the effort to inflate an
object monitor is fairly big, but once inflated, the inflated object monitor is
faster than an uninflated re-entrant fastlock record.

Basically whether you have fastlocks or use system mutexes, the locking code
needs to do something similar (basically bookkeeping on some sort of lock
record). I think if you have a system where you always use a heavyweight
inflated monitor, then you'll can possibly do better when dealing with contended
or re-entered locks. However, uncontended locks, or ones that are not re-entered
will perform much slower this way.

Another way of looking at this is if you always assume the worse, and the worse
never happens, then you'll pay a performance price for having assumed the worse.
However, if the worse always happens, then you'll see gains. With
CVM_FASTLOCK_NONE, you are assuming the worse locking cases, and your test case
is an example of one. [Message sent by forum member 'cjplummer' (cjplummer)]

http://forums.java.net/jive/thread.jspa?messageID=272842