Regression source found? [was: Re: Tracking performance regressions in 1.1.7-pre-c]
"Grzegorz B. Prokopski" <[email protected]>
| Newsgroups | gmane.comp.java.vm.sablevm.devel |
|---|---|
| Organization | SableVM - LGPL'ed Free Java VM http://sablevm.org |
| Message-ID | <[email protected]> |
On Fri, 2004-10-15 at 20:16, Laurent Martelli wrote: > >>>>> "Grzegorz" == Grzegorz B Prokopski <[email protected]> writes: > Grzegorz> Could you please do a 'binary search' on revisions visible > Grzegorz> via: svn log -r 2934:2967 > Grzegorz> svn://svn.sablevm.org/sablevm/branches/staging > And the winner is ... > 2961 I think I know what the problem was. In this revision I tried to remove a conditional split in half by #ifdef #else #endif (read: ugly). I kept the logic that was in the original, but the new code effectively triggered (attempt to?) gc on every first hashcode access. Laurent, please test the latest staging version of sablevm (and you'll need new classpath too, I think) and compare performance of your app to what you had with 1.1.6. If the newest staging was still slower, plese fetch rev. 2961 and replace file src/libsablevm/util2.c with version from rev 2960 (use: "svn cat -r 2960 svn://svn.s.o/.../util2.c >util2.c") and let us know of the results. BTW. I wonder, if new stating was OK, could you please give Generational GC a try? There's an option in configure to enable it. Does it give you any performance difference when running (starting?) Jetty? (You can do the same test on rev 2960, as it already included GGC). Carl, could you please take a look at the latest version of util2.c, lines 60-80 and check whether it's OK? Also let's note that C does NOT guarantee the evaluation order, nor that the evaluation is aborted once the result is known, so the previous version also could trigger such bad behaviour we observed by (trying to? or) running GC way too often. I have not checked what the original (before GGC) code looked like, so maybe it's already been there? I am eager to hear of your results, Grzegorz B. Prokopski PS: If everything is fine I'll try to make 1.1.7-pre2 available soon, as the patch pointed out by Michael seems to solve the problem with AWT/Swing not displaying windows (which was the second showstopper). -- Grzegorz B. Prokopski <[email protected]> SableVM - Free, LGPL'ed Java VM http://sablevm.org Why SableVM ?!? http://sablevm.org/wiki/Features Debian GNU/Linux - the Free OS http://www.debian.org