Issue #5839 has been reported by Narihiro Nakamura.

----------------------------------------
Feature #5839: Proposal: Bitmap Marking GC
https://bugs.ruby-lang.org/issues/5839

Author: Narihiro Nakamura
Status: Open
Priority: Normal
Assignee: Yukihiro Matsumoto
Category: core
Target version: 2.0.0


??????????????????????????????????????nari???????

???????????????????????????GC???Ruby2.0???????????????????????

????????: https://github.com/authorNari/ruby/tree/bitmap_marking
?????????: https://github.com/authorNari/patch_bag/blob/master/ruby/gc_bitmap_using_alignment_r33786.patch

以??????????r33786 ??対?????????????????? make check ????????????????
make TESTS="--gc-stress" test-all ?????????????????????????確?????????????

$ ruby -v
ruby 2.0.0dev (2011-11-18 trunk 33786) [x86_64-linux]

= ??????

== make benchmark
make benchmark OPTS="-r 5" ?????????以????????
https://gist.github.com/1542547
?????????????????????干??????????????????????

????????RVALUE?????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????

== skkzipcode
???????????????????????????????????RVALUE??対????????込???????????????
Linux?????????????????????????????????????????CoW?????????????????????
使??????????????????????????????????????

skkzipcode????????????????????????????????確???????????????
skkzipcode????親???????????????????????使???????????????????????????
?????????????????????親?????????????????????????????????????
https://github.com/authorNari/skkzipcode
?/proc/PID/smaps???使????測???????????

origin - ?????????????????????????????
PROCESS_CNT : 5 
SHARED_TOTAL: 59124     kb
PRIV_TOTAL  : 224892    kb

bmap - ???????????????????????????????
PROCESS_CNT : 5 
SHARED_TOTAL: 170744    kb
PRIV_TOTAL  : 138336    kb

PROCESS_CNT???????????????SHARED_TOTAL???????????????????????????
????????PRIV_TOTAL???????????????????bmap???????????????沢山使??
?????????????????????????????????使???????????????????????

= ??
?????????簡????????????????

- ???????????????????索?????????????????????????1??????????????????16KB??????
  ????????????????
-- Linux????posix_memalign(),memalign()???????
-- Windows????_aligned_malloc()???????
- ?????????込????????????????????????freelist????????????????????????????
-- GC????????????freelist??????????????????????????????????度???????????
- freelist????????????????????????????
-- ??????????????解?????????????????????freelist???????????????
   ???????????????????????????????
- struct heaps_slot?????????????????????????込?????

Linux???fork()???使???????????????????????対????????????????????????????????
?????????????????????????????CRuby??並??????????????????????????????????????
fork()???使?????????????????????????????????????????????????passenger????????
??????????????????対???????????????????????

GC???????????????????????????????????????????fork()???使?????????????????
???????????????????????????????????????



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