ÆüËܸì¤Î»ñÎÁ¤¬¤¹¤¯¤Ê¤¤GC¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ë²òÀ⤷¤Þ¤¹

IncrementalGC

¤Á¤ç¤Ã¤È¤Å¤ÄGC

¥¢¥ë¥´¥ê¥º¥à

´ðËÜ¥¢¥ë¥´¥ê¥º¥à¤ÎCopying¤ÈMark&Sweep¤Ç¤Ï°ìµ¤¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤ÎÁöºº¡¢²òÊü¤ò¹Ô¤¦¤¿¤á¡¢
GC¤Ë¤è¤ëÄä»ß»þ´Ö¤¬Èó¾ï¤ËŤ«¤Ã¤¿¡£
¤³¤Î·çÅÀ¤òÊ䤦¤Î¤¬¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤¢¤ë¡£

Incremental GC ¤ÏGC ¤Îõº÷½èÍý¤òºÙÀÚ¤ì¤Ë¤·¤Æ¡¢¥æ¡¼¥¶¥×¥í¥°¥é¥à¤È¸ò¸ß¤ËÆ°¤«¤¹¡£
¤³¤ì¤Ë¤è¤ê°ì²ó¤¢¤¿¤ê¤ÎÄä»ß»þ´Ö¤òû¤¯¤¹¤ë¥¢¥×¥í¡¼¥Á¤Ç¤¢¤ê¡¢¥ê¥¢¥ë¥¿¥¤¥àÀ­¤ÎɬÍ×¤Ê¥×¥í¥°¥é¥à¤ËŬ¤·¤Æ¤¤¤ë¡£
¸ò¸ß¤ÇÆ°¤«¤¹ºÇ¤â¥á¥¸¥ã¡¼¤ÊÊýË¡¤Ï¡¢allocate ½èÍý¤ò¹Ô¤Ê¤¦¤È¤­¤Ë¡¢¤³¤Ã¤½¤ê¾¯¤·¤Å¤ÄGC¤ò¿Ê¤á¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£
°Ê²¼¤Ç¤Ï¡¢mark sweep GC ¤òincremental ²½¤¹¤ë¾ì¹ç¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤ë¡£
Incremental GC ¤ò¼ÂÁõ¤¹¤ë¤Ë¤Ï¡¢¤¤¤¯¤Ä¤«ÌäÂêÅÀ¤ò¥¯¥ê¥¢¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
  • GC ½èÍý¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¡£¤³¤ì¤Þ¤Ç¤Î¤è¤¦¤Ë¡¢¥Ò¡¼¥×¤¬ËþÇդˤʤ俤éGC ¤ò»Ï¤á¤ë¡¦¡¦¤Î¤Ç¤Ï´Ö¤Ë¹ç¤ï¤Ê¤¤¡£
¡¡¡¡GC ¤ÎºÆµ¢Ãµº÷¤¬°ìÄ̤꽪¤ë¤è¤êÀè¤Ë¡¢¥á¥â¥ê¤¬¿Ô¤­¤ë¤È¤¤¤¦¾õ¶·¤Ï¶ËÎÏÈò¤±¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
¡¡¡¡¤Á¤Ê¤ß¤Ë¡¢GC ¤Î»Å»ö¤ò¾¯¤·¹Ô¤Ê¤Ã¤¿¤«¤é¤È¤¤¤Ã¤Æ¡¢¥á¥â¥ê¤ò¤¹¤°¤Ë²òÊü¤·¤Æ¤¯¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤(=¾Ê¥á¥â¥êÀ­¤ÏÁêÊѤï¤é¤º°­¤¤) ¤³¤È¤ËÃí°Õ
¤Ê¤¼¡¢writebarrier¤¬É¬Íפˤʤ뤫¤È¤¤¤¦¤È¡¢GC¤ÎºÙÀÚ¤ì¤ÇÆ°¤«¤¹ËÜ¥¢¥ë¥´¥ê¥º¥à¤ÏMark¤ÎÅÓÃæ¤Ç
¥æ¡¼¥¶¡¼¥×¥í¥°¥é¥à¤Î½èÍý¤ØÌá¤ë¤³¤È¤Ë¤Ê¤ë¡£
¤½¤ÎºÝ¤Ë¡¢MarkºÑ¤ß¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î¿·µ¬»²¾È¤¬Äɲ䵤졢¤Þ¤¿¤½¤Î¿·µ¬»²¾È¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤¬
MarkºÑ¤ß¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¤·¤«»²¾È¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢Sweep¥Õ¥§¥¤¥º¤Ç¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÏMark¤¬ÉÕ¤¤¤Æ¤¤¤Ê¤¤¤Î¤Ç¥´¥ß¤ÈȽÃǤµ¤ì²òÊü¤µ¤ì¤Æ¤·¤Þ¤¦¡£
¤½¤ì¤òËɤ°°Ù¤Ëwritebarrier¤òÍѤ¤¤Æ¡¢Êѹ¹¤¬¤¢¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ë°õ¤ò¤Ä¤±¡¢¤â¤¦°ìÅÙMark¤·Ä¾¤¹½èÍý¤¬É¬Íפˤʤ롣

´ðËÜŪ¤Ë¤Ï¡¢incremental GC ¤ÏÄä»ß»þ´Ö¤òû¤¯¤¹¤ë¤Î¤¬ÌÜŪ¤Ç¤¢¤Ã¤Æ¡¢GC ¤Î»Å»ö¤ÎÎ̤ò¸º¤é¤½¤¦¤È¤¹¤ë¤â¤Î¤Ç¤Ï¤Ê¤¤¡£
¤³¤Î¤¿¤á¡¢Èóincremental GC ¤ÈÈæ¤Ù¤Æ¥È¡¼¥¿¥ë¼Â¹Ô»þ´Ö¤Ïû¤¯¤Ê¤é¤Ê¤¤¡£
µÕ¤Ë»Å»ö¤ÎÀÚÂؤ¨¥ª¡¼¥Ð¥Ø¥Ã¥É¤äwrite barrier ¤Îʬ¡¢ÃÙ¤¯¤Ê¤ë¤À¤í¤¦¡£
Incremental ¤ò»È¤¦¤Ù¤­¤«¤É¤¦¤«¤Ï¥×¥í¥°¥é¥à¤ÎÀ­¼Á¤Ë±þ¤¸¤Æ·è¤á¤ëɬÍפ¬¤¢¤ë¡£

ºÇ¶á¤Î¥¹¥¯¥ê¥×¥È¸À¸ì¤Ë¤Ï¤³¤Î¥¢¥ë¥´¥ê¥º¥à¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤³¤È¤¬Â¿¤¤¡£

ÍøÅÀ

  1. Ää»ß»þ´Ö¤¬Ã»¤¤

·çÅÀ

  1. ¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤¬·ë¹½ÂçÊÑ
  2. writebarrier¤Îʬ¡¢¥ß¥å¥Æ¡¼¥¿¤Ë°ìΧÉé²Ù¤¬Áý²Ã¤¹¤ë

¼Â¥³¡¼¥É¤ò¸«¤¿¤¤¾ì¹ç

¡¡¡¦Io½èÍý·Ï
¡¡¡¦Lua½èÍý·Ï
¡¡¡¦BoehmGC

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

WikiÆ⸡º÷

WikiÆ⸡º÷

¥Õ¥ê¡¼¥¨¥ê¥¢

ÊÔ½¸¤Ë¤ÏID¤¬É¬ÍפǤ¹