The Performance Cutoff

Monday, November 10th, 2008

A few days ago I had a small epiphany on a simple yet important issue. I was trying to squeeze those last few percents of performance out of JavaRebel and it came to the point where I started optimizing individual hotspots method-by-method.
One of the most common ways to improve execution time of a specific method [...]



When protected isn’t protected

Monday, November 3rd, 2008

For all those spec believers out there: what would you think if I told you that all of the JVM implementations consistently violate the spec for at least one particular instance?
Our story begins on a cold and lonely evening when I discover a bug in JavaRebel in conjunction with Xerces XMLEntityManager. The problem was [...]



What do we really know about non-blocking concurrency in Java?

Tuesday, October 28th, 2008

If my yesterday’s post taught me anything it’s this: not that much. This post is a result of a lengthy chat with Heinz Kabutz and Kirk Pepperdine (who really do know something about non-blocking concurrency) as well as comments on the post and the Reddit entry.
When I put together the yesterday’s post (When System.currentTimeMillis() [...]



When System.currentTimeMillis() is too slow…

Monday, October 27th, 2008

At the moment I am working on reducing the performance overhead of JavaRebel. Once I got rid of all the obvious bottlenecks and optimizations I fired up the profiler and started searching and destroying ad-hoc hotspots. After some time I got to the point, when the bottleneck was in System.currentTimeMillis().
This deserves some explanation. Since JavaRebel [...]



SpringSource is not the devil?

Wednesday, October 8th, 2008

SpringSource is not the devil? — apparently the community outcry was strong enough to revoke the most outrageous part of the new policy: now the latest stable branch will have maintenance releases even after the three month stoppoint. The funny part is that now the “three months” don’t have any value whatsoever, as the space [...]