From: Douglas K. <do...@go...> - 2017-09-24 15:26:02
|
The evidence suggests that our precisely collected GC has *worse* problems [*] with inadvertent garbage retention than the conservative collector. While intuitively this should not be true, what you're asking for is that (1) we figure out the problem, and then (2) implement precise GC on x86. I would assert that this of insufficient interest to anybody who would both desire it and be able to implement it. [*] a data point is that the x86-64 self-build prints that there are 5 "leftover symbols" from bootstrap, after calling unintern on them, and save-lisp-and-die. "Leftover" means there should be no need to see the symbol in the pristine core image. That sounds bad; but the precisely collected backends print that there are 98 leftover symbols. I applied a hammer to some of that problem in https://sourceforge.net/p/sbcl/sbcl/ci/471201c7 so that there are now only 44 leftover symbols. On-stack functions are always going to be a bigger issue than accidental pointer tracing. Ergo, an exercise in futility. On Wed, Sep 6, 2017 at 10:20 AM, 73budden . <bud...@gm...> wrote: > > And some aside note - I believe that it would be very desirable for > everyone to have an exact version of SBCL's GC, even at high cost in > terms of performance. Otherwise, nothing is guaranteed about memory > consumption. Under some circumstances and depending on input data, > SBCL process could consume all the memory via cascading effects and > then crash. There is no way to either predict or prevent this, and > this sounds as "unreliable" for me. > > |