SGen « Juggling, Photography, Software, and Atheism

From knowledgebase
Revision as of 10:36, 25 August 2020 by Dirkjan (talk | contribs) (Created page with "=URL= http://schani.wordpress.com/2010/12/20/sgen/ =Description= Introduction SGen is Mono’s new garbage collector that we have been working on intensely for almost two ye...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

URL

http://schani.wordpress.com/2010/12/20/sgen/

Description

Introduction

SGen is Mono’s new garbage collector that we have been working on intensely for almost two years now and that has been becoming stable and competitive during the past few months.

In this series of blog posts I will try to explain how garbage collection works in general, how SGen works in particular, how to get the best performance out of it and, finally, what our plans are for the future.

This first post will give a very brief overview over what a garbage collector does and how it does it, before outlining the broad architecture of SGen. Why a new garbage collector?

Since its inception Mono, like many other garbage collected runtimes, has been using the Boehm-Demers-Weiser collector, which I shall refer to as “Boehm” henceforth. Boehm’s main advantages are its portability, stability and the ease with which it can be embedded. It is designed as a garbage collector for C and C++, not for managed languages, however, so it does not come as a surprise that it falls short fo