Performance Improvement

I do not know if you already saw this:Making Notes 8.x (including 8.5 beta) in Eclipse feel much faster. (Andrew's Blog 10/03/2008)

The article describes a performance improvement due to changing a jvm-property.

We tried this on a xp machine, significant performance improvement as mentioned in the comments.

However, the 8.0.1 install on Linux already has the property at 512MB, the 8.5B2 has only 256MB in the same property.

Questions are

  • is it undocumented, because …?

  • can we get an official statement?

  • such as “best practice is …”?

Subject: The change suggested there is to increase the maximum Java heap

It’s unlikely that increasing the maximum Java heap will help most folks. One case where it could help is if your heap is mostly full (within 10% of the specified -Xmx which is 256MB). As you heap size approaches the maximum, the garbage collector will spend more and more time trying to collect/compact the large heap.

There is another area it could help - when you increase the maximum heap size you’re also implicitly increasing the nursery space. The nursery is used as a staging area for short lived objects. If the objects die young in the nursery, they don’t make it to the tenured space where garbage collection is more expensive. Nursery garbage collections are relatively cheap.

One way you can gain more insight into what the garbage collector is doing is to add the following lines to your jvm.properties and then look at how your nursery and tenured sizes change over a day or weeks.

vmarg.verboseGC=-verbose:gc

vmarg.verboseGCLog=-Xverbosegclog:${rcp.data}/logs/gc.log

In my opinion, if your Java heap is 230MB there are bigger problems, and simply increasing the maximum isn’t the answer. If you’re running into situations where your heap grows that large I consider it a bug and we need to get more information and find/fix the defect.