[concurrency-interest] Array allocation and access on the JVM
dl at cs.oswego.edu
Fri Jan 27 12:12:47 EST 2012
On 01/27/12 11:44, Ismael Juma wrote:
> On Fri, Jan 27, 2012 at 4:29 PM, Nathan Reynolds <nathan.reynolds at oracle.com
> <mailto:nathan.reynolds at oracle.com>> wrote:
> Making the card table concurrent for these workloads would slow them down.
> Are there measurements for the slowdown experienced in these cases?
I see a 0-4% slowdown (depending on exact processor/platform)
in non-concurrent programs on multisocket (multiprocesssor)
machines when -XX:+UseCondCardMark is used.
But I routinely see complete failure to speed up (so, a slowdown as
large as the number of processors you have) in parallel programs
when -XX:+UseCondCardMark is not used.
The obvious heuristic is to turn it on by default if on
a multisocket machine. But Oracle moves exceedingly slowly
in deciding to do such things, so for the foreseable future,
just tell everyone you know to set it.
While I'm at it: -XX:+UseCondCardMark is basically a bandaid
until GC folks find a way to efficiently support per-thread
card tables or other alternatives that don't have intrinsic
More information about the Concurrency-interest