JNI-performance - Is it really that fast?
linuxhippy at gmail.com
Tue Mar 25 19:57:43 UTC 2008
Thanks a lot for the valueable feedback :)
> Biased locking is enabled 4 seconds after startup.
Thanks a lot Christian and greetings from Austria!
With your suggested flag the synchronization-overhead with
BiasedLocking shrinks to about 10-20% on my Dual-Core machine down
from a few hundred percent.
Do you know wether ReentrantLock could also be optimized to use
BiasedLocking? In my use-case most likely one thread will
aquire/release the lock again and again, maybe from time to time
another thread will aquire it, but rather seldom.
> Our per primitive cost is still mostly
> consists of jni overhead for small primitives (think
For my fillRect(1x1) test the locking of AWT's ReentrantLock was far
more expensive than the JNI overhead even with almost no contention.
That was for a VolatileImage, on a Dual-Core machine, on a single-core
machine I tested on the hit was much smaller.
> In the meantime the people who believe jni performance is very good
> please continue to speak up as I'm sure the vm engineers who have
> to improve this path over the years will appreciate the feedback. :-)
Its really impressive, congratulations and thanks to the vm engineers
who made that possible :) ;)
Thanks a lot, lg Clemens
More information about the discuss