Kiev & out-of-memory
gback at cs.utah.edu
Wed Dec 9 09:00:09 PST 1998
> I did these tests. --with-timing gives this results (as I remember):
> total ~ 1100.
> gc ~360.
> (Sorry, looks like kaffe redirects these results not to stdout/stderr - I
> them on screen, but in log file "|tee err.log 2>&1" they not appear.
"|& tee err.log" (csh)
"2>&1 | tee err.log" (sh)
> No, Godmar, no. I do _carefully_ null all unneeded data. Without
> this the compiler will waste gigabytes (mostly by JavaCC parser).
I believe that you null whatever you can, but this is somewhat besides
the point. As my example in my previous mail showed, sometimes you cannot
do the nulling out from Java code. You do require compiler support, for
instance, when the last use of a variable is passing it as an argument
to a method. A paper by Agesen & Moss at the last PLDI reported on this
> Also, I've runned my compiler with "-debug profile" switch, that
> allows me count uncollected (my, not system) objects at the end
> of compilation. Both kaffe & jdk have plenty of them, and kaffe has them
> 50% to 100% percents more (I can't count exactly - too many data ;-) ).
> But anyway, this still can't be the reason.
> PS I saw a patch about inflate - will try it now and let's see results...
If you have the opportunity, you should always update your CVS tree
before reporting problems. Now I hope I read Kim's patch right when I
applied it. I still don't quite understand where these huge memory
savings come from (after all, it's only a small struct that's freed now),
but I guess I'll have to look closer at it.
More information about the kaffe