This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
(All right, I guess I am still interested in the discussion... :) ) > 1. Tcl/Tk avoids long GC pauses by never garbage collecting. The > process grows without bound over time. Would you prefer this? This isn't a fair characterization of Mikael's position. He's saying that pauses are more important to him than time spent in GC. Nobody here has said we should ditch GC. > 2. perl avoids long GC pauses by reference counting. This also will > cause the process to grow without bound over time (if circular > structures are used) and is generally thought to be much more > costly than other forms of GC. Would you prefer this? Again, I think this isn't quite fair. Nobody has suggested reference counting. > 3. Emacs has a non generational GC that's on the slow side. Does its > pauses cause a significant degradation of it's UI? Gosh, yes. Sometimes I want to buy a gun and shoot it. > 4. I wrote a tetris game for STk. It has a non generational > conservative GC. The pauses are unnoticable because I increased > the heap allocation at the beginning & call gc at times when it > won't be noticable to the user. This is a tactic that I think could be adapted to get quite acceptable behavior; with a generational GC, replace "increase heap allocation" with "only allow small collections", and you've got what seems to me to be a nice solution. I think the second advantage of generational GC after efficiency is that you get finer control: instead of just turning collection on and off, you can say how much you want.