Issue #7095 has been updated by authorNari (Narihiro Nakamura).

Tracker changed from Bug to Feature


----------------------------------------
Feature #7095: Non-recursive marking
https://bugs.ruby-lang.org/issues/7095#change-29964

Author: authorNari (Narihiro Nakamura)
Status: Open
Priority: Normal
Assignee: authorNari (Narihiro Nakamura)
Category: core
Target version: 2.0.0


nari???????

GC???????????????帰????????使???????????????????????????????

差??: https://github.com/authorNari/ruby/compare/non_recursion_marking
?????????: https://github.com/authorNari/ruby/compare/non_recursion_marking.patch

= ????????
?????????????????????????????????????????????孫?????????
????gc_mark()??????帰????????????????????????????????
??????????????????????????????????????????????????????????????????????
???溢???????????????GC?????????????????????溢???????????????????????????以??
???????????????使????????????????????????????????????

??????????次???2????????????????????????????????

1. ??????深?????????????????????????????????????????????
2. ????????????????????????????????精度??????

1.????????????????????????????????????????????????使?????????????
???????????????????????????????走?????????????????????????????????????
??????????????????深?????????群??????????????????????????GC???????????????????????
????????????????????????????

2.????????????????以??????????????????????????
https://bugs.ruby-lang.org/issues/3781
????????????????????????????????????????????精度?????????????
???????????????????????????????????????常???????????????????????
FIBER_USE_NATIVE ??????????????????????????????????????????????
?????????????????????SEGV?????????????????????
# ??????????????????張????????????????????????????????SEGV????????
# ??????????????????????????????????

= ?????
????????????????????????????????????使???????帰??????????????????????????
???????????????????????????????帰????????使????????????????????
???????????

= ???度???
mark benchmark OPTS="-r 5" ???走????????????????????????????????????????
????????????????

https://gist.github.com/3806667
(target 0???修正???, target 1?????????帰????????????
"average total difference is -7.793935319666676"

?????????????????深????????????????????????????????????????????????????
??????????????????????????????????帰??????????????????????????????????
https://gist.github.com/3812118

depth???240?????
origin ?GC??????(sec): 1.96
non-recursive ?GC??????(sec): 1.87

depth???500?????
origin ?GC??????(sec): 14.73
non-recursive ?GC??????(sec): 5.49



-- 
http://bugs.ruby-lang.org/