mmtk / mmtk-julia

Julia binding for MMTk
13 stars 9 forks source link

Remove global ROOT_NODES/EDGES (merge after #86) #89

Closed qinsoon closed 1 year ago

qinsoon commented 1 year ago

This PR is based on https://github.com/mmtk/mmtk-julia/pull/86.

udesou commented 1 year ago

Does this impact performance in any way? Have you tested it with the previous benchmarks? I'm just wondering whether it would help at least a bit since it removes those locks.

qinsoon commented 1 year ago

Does this impact performance in any way? Have you tested it with the previous benchmarks? I'm just wondering whether it would help at least a bit since it removes those locks.

I haven't tested that. It should improve the stack scanning. But I am not sure how much it matters for the whole GC time. I see this PR as a cleanup rather than an optimization. But anyway, I will run the benchmarks.

qinsoon commented 1 year ago

This is the result (compared with Julia GC). It seems we only see a clear improvement in pidigits. I think the reason is that stack scanning is a fixed cost per GC and we trigger much more GCs in pidigits than other benchmarks. So the improvement is only visible for pidigits. output