The "One Laptop Per Child" project has a great device ready to ship, but there's no Java on there. Let's think about working together to put Java on OLPC!
For those of you that might not have seen it listed in the news, Eclipse 3.2 M6 brought with it significant performance improvements in the JDT Core and JDT UI aspects of the platform; improvements so signficant they were listed as a separate line item. To give you some concrete idea of the magnitude of these improvements, check out these numbers:
I went on a very brief and somewhat lazy crusade to determine what the root cause of these drastic improvements was. Here are some interesting bugs fixed in this release:
Bug 127996 - Shutdown of the workbench was doing some extensive equality checking that wasn't necessary.
Bug 113371 - Performance fixes for the working copy cache.
Bug 131720 - After some large sample profiling, it was found that during compilation the usage of the CharArrayCache for smaller instances had a negative side-effect on performance (or more accurately, effectiveness of the cache).
Bug 94925 - This bug has been opened for quite a while (May, 2005), and was found to exist since Eclipse 1.0. The general problem was related to collecting all of the packages for various dialogs (such as organizing imports). Here is a quote regarding the performance fix:
Our local performance tests results show a gain of 62.55% on Linux box and
68.17% on WinXP box.
Bug 133334 - This is a case where Java files are indexed multiple times unecessarily.
For the record, aside from Bug 94925 I'm not 100% sure that any of these are the direct correlation to the extensive performance optimizations. Anyone care to chime in?
I wouldn't call the improvement over M5 dramatic but its definately there. Since eclipse 3.0, the instances where eclipse seems to hang for several seconds has been decreasing. I had very little complaints about M5 already but I did encounter a few of those hangs (e.g. autocompletion) which no longer seem to be there in M6. So that's good.
Overall, the eclipse developers seem to be doing a great job improving features and performance. For most low end hardware, 3.2M6 is probably a better eclipse than any of the previous 3.x versions. It uses less memory, wastes less cpu cycles and packs more features. I think the approach of measuring performance and addressing the bottlenecks is a really great way to develop for quality.
> its definately there. Since eclipse 3.0, the
> instances where eclipse seems to hang for several
> seconds has been decreasing.
About these hangs for several seconds: have you tried increasing the Xmx setting of your Eclipse installation? I had these problems too (mostly after a long day with a large workspace), and the hangs were due to a nearly-but-not-quite full memory, which caused full GC runs to happen more often (full GC runs pause the whole JVM), instead of the incremental GC.
After I increased the Xmx the behavior vanished. I suppose, if the memory usage decreased in recent milestones, this might have improved this situation, because the memory limit is reached much later (or not at all).
Thanks for noticing. There were many changes related to make the live editing experience smoother. We made the model caching policy better scalable, by making it more fine grain; we also better reuse allocated objects. The compiler now is sorting fields & methods for allowing binary searching, etc...
In the end, we also noticed that our memory requirement is significantly lower than in the past. This still needs to be proven, but early experimentation tells us that when -Xmx256M was required, only -Xmx128M seems now necessary to self-host Eclipse development.
There are a few more performance tuning in progress, so if you did like M6, you should love RC1.
I would agree that I have seen some performance improvements in compiling, but simple things that I used to do in 3.2M4 are now making me nuts. I can say for certain that my productivity decreased this week since I installed 3.2M6. I am rolling back to 3.2M4 to verify these issues:
1- CTRL+O to open outline cause constant hang
2- CTRL+SHIFT-T to open type list cause constant hang
3- F3 to open reference cause constant hang
Eclipse 3.2 M6 JDT Performance
At 11:40 PM on Apr 9, 2006, R.J. Lorimer
wrote:
For those of you that might not have seen it listed in the news, Eclipse 3.2 M6 brought with it significant performance improvements in the JDT Core and JDT UI aspects of the platform; improvements so signficant they were listed as a separate line item. To give you some concrete idea of the magnitude of these improvements, check out these numbers:
JDT Core: 3.2 M5 vs. 3.2 M6
JDT UI: 3.2 M5 vs. 3.2 M6
I went on a very brief and somewhat lazy crusade to determine what the root cause of these drastic improvements was. Here are some interesting bugs fixed in this release:
Bug 127996 - Shutdown of the workbench was doing some extensive equality checking that wasn't necessary.
Bug 113371 - Performance fixes for the working copy cache.
Bug 131720 - After some large sample profiling, it was found that during compilation the usage of the CharArrayCache for smaller instances had a negative side-effect on performance (or more accurately, effectiveness of the cache).
Bug 94925 - This bug has been opened for quite a while (May, 2005), and was found to exist since Eclipse 1.0. The general problem was related to collecting all of the packages for various dialogs (such as organizing imports). Here is a quote regarding the performance fix:
Bug 133334 - This is a case where Java files are indexed multiple times unecessarily.
For the record, aside from Bug 94925 I'm not 100% sure that any of these are the direct correlation to the extensive performance optimizations. Anyone care to chime in?
Until next time,
R.J. Lorimer
Contributing Editor -rj -at- javalobby.orgAuthor -http://www.coffee-bytes.comSoftware Consultant -http://www.numbersix.com7 replies so far (
Post your own)
Re: Eclipse 3.2 M6 JDT Performance
I wouldn't call the improvement over M5 dramatic but its definately there. Since eclipse 3.0, the instances where eclipse seems to hang for several seconds has been decreasing. I had very little complaints about M5 already but I did encounter a few of those hangs (e.g. autocompletion) which no longer seem to be there in M6. So that's good.Overall, the eclipse developers seem to be doing a great job improving features and performance. For most low end hardware, 3.2M6 is probably a better eclipse than any of the previous 3.x versions. It uses less memory, wastes less cpu cycles and packs more features. I think the approach of measuring performance and addressing the bottlenecks is a really great way to develop for quality.
Re: Eclipse 3.2 M6 JDT Performance
> its definately there. Since eclipse 3.0, the> instances where eclipse seems to hang for several
> seconds has been decreasing.
About these hangs for several seconds: have you tried increasing the Xmx setting of your Eclipse installation? I had these problems too (mostly after a long day with a large workspace), and the hangs were due to a nearly-but-not-quite full memory, which caused full GC runs to happen more often (full GC runs pause the whole JVM), instead of the incremental GC.
After I increased the Xmx the behavior vanished. I suppose, if the memory usage decreased in recent milestones, this might have improved this situation, because the memory limit is reached much later (or not at all).
Re: Eclipse 3.2 M6 JDT Performance
Thanks for noticing. There were many changes related to make the live editing experience smoother. We made the model caching policy better scalable, by making it more fine grain; we also better reuse allocated objects. The compiler now is sorting fields & methods for allowing binary searching, etc...In the end, we also noticed that our memory requirement is significantly lower than in the past. This still needs to be proven, but early experimentation tells us that when -Xmx256M was required, only -Xmx128M seems now necessary to self-host Eclipse development.
There are a few more performance tuning in progress, so if you did like M6, you should love RC1.
A performance question
the performance inceases fro JDT are nice. But I have a related questionHas anyone notice a CPU 100% useage when the Help view is open and doing task such as a plugin/feature update on winXP?
If I close the Help View it goes back to what I am use to seeing as far as CPU % of use.
Happens when I have the full help contents opne in help view.
Re: Eclipse 3.2 M6 JDT Performance
I would agree that I have seen some performance improvements in compiling, but simple things that I used to do in 3.2M4 are now making me nuts. I can say for certain that my productivity decreased this week since I installed 3.2M6. I am rolling back to 3.2M4 to verify these issues:1- CTRL+O to open outline cause constant hang
2- CTRL+SHIFT-T to open type list cause constant hang
3- F3 to open reference cause constant hang
Re: Eclipse 3.2 M6 JDT Performance
Please enter bug reports asap with steps to reproduce.We aren't aware of such issues.
Re: Eclipse 3.2 M6 JDT Performance
I wonder if you are seeing:http://bugs.eclipse.org/bugs/show_bug.cgi?id=134172
If this is the case, it already is fixed in RC1. Can you pls double check this ?