nederlang
nederlang copied to clipboard
Run the GC on function return and remove GC Header from Objects
I was reading your blog post about Nederlang, specifically the one where you convert it from C and optimize it, and while playing with over the weekend it I found a way to make the GC a bit more efficient.
By using a bitvec::BitVec to mark reachable objects instead of the Header in every Object, I was able to make things quite a bit more efficient. Each commit have details.
That looks awesome @lpereira - I'm hoping to be able to take a closer look some time next week.
No rush! I ended up pushing some new changes after I sent the PR, further simplifying some things (i.e. the collection step is a lot nicer now!). I don't think I'll be making any other changes in this PR, though.
So I finally had some time; although my Rust was once again quite rusty (ba dum tss) after a year of solely working in C and C++... But, this is very clever! Thanks for sharing that improvement here. :pray: