On Mar 15, 2016 4:16 PM, "'Bill Hart' via julia-users" <
julia-users@googlegroups.com> wrote:
>>
>>
>> >> The generational part of the GC is a little messy. This is mainly
>> >> because the new GC was designed to be an incremental GC and then
>> >> gradually transformed into a generational GC....... (they are
>> >> suprisingly similar....).
>> >>
>> >
>> > Oh I didn't even realise that LOL. I thought Julia just switched to a
>> > generational gc and that's it. Probably at the time I didn't even know
there
>>
>> On master, yes, that's all, the incremental GC never hit the master.
>> I'm just talking about the PR that did this. In fact the original PR
>> still has the "wrong" title
>> https://github.com/JuliaLang/julia/pull/5227.
>
>
> So that PR was interesting reading. But now I have a new question (or
two).
>
> Is it correct that the GC is not incremental, in the sense that low pause
times were not gained by making the gc incremental (in the end), but by
collecting the new generations more often than the old?

Right.

>
> Or is there now also some incremental behaviour as well?

No.

>
> Are there plans in this direction in the future?

Maybe. Not really on my own todo list and unlikely to be high priority.

>
> I was also unaware that LLVM makes it difficult to implement a moving GC.
I hadn't realised that.

I didn't actually read the whole thread (it was also before I joint.) I
assume you mean that using llvm instead of our own codegen backend makes
moving harder. This is generally true for keeping track of any metadata in
codegen when you don't control literally everything about it.

> I see the original author in that PR actually mentioned fragmentation as
being an issue, though the current behaviour doesn't seem too bad anyway.
>
> Bill.

Reply via email to