⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a garbage collector for c and c++.htm

📁 关于内存管理中garbage collection机制的讨论
💻 HTM
📖 第 1 页 / 共 2 页
字号:
Boehm, H., <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers/pldi93.ps.Z">"Space Efficient Conservative Garbage Collection"</a>, Proceedings of the ACM
SIGPLAN '93 Conference on Programming Language Design and Implementation, <i>SIGPLAN
Notices 28</i>, 6 (June 1993), pp. 197-206.
</p><p>
Boehm, H., "Reducing Garbage Collector Cache Misses",
<i> Proceedings of the 2000 International Symposium on Memory Management </i>.
<a href="http://portal.acm.org/citation.cfm?doid=362422.362438">
Official version.</a>
<a href="http://www.hpl.hp.com/techreports/2000/HPL-2000-99.html">
Technical report version.</a>  Describes the prefetch strategy
incorporated into the collector for some platforms.  Explains why
the sweep phase of a "mark-sweep" collector should not really be
a distinct phase.
</p><p>
M. Serrano, H. Boehm,
"Understanding Memory Allocation of Scheme Programs",
<i>Proceedings of the Fifth ACM SIGPLAN International Conference on
Functional Programming</i>, 2000, Montreal, Canada, pp. 245-256.
<a href="http://www.acm.org/pubs/citations/proceedings/fp/351240/p245-serrano/">
Official version.</a>
<a href="http://www.hpl.hp.com/techreports/2000/HPL-2000-62.html">
Earlier Technical Report version.</a>  Includes some discussion of the
collector debugging facilities for identifying causes of memory retention.
</p><p>
Boehm, H.,
"Fast Multiprocessor Memory Allocation and Garbage Collection",
<a href="http://www.hpl.hp.com/techreports/2000/HPL-2000-165.html">
HP Labs Technical Report HPL 2000-165</a>.  Discusses the parallel
collection algorithms, and presents some performance results.
</p><p>
Boehm, H., "Bounding Space Usage of Conservative Garbage Collectors",
<i>Proceeedings of the 2002 ACM SIGPLAN-SIGACT Symposium on Principles of
Programming Languages</i>, Jan. 2002, pp. 93-100.
<a href="http://portal.acm.org/citation.cfm?doid=503272.503282">
Official version.</a>
<a href="http://www.hpl.hp.com/techreports/2001/HPL-2001-251.html">
Technical report version.</a>
Includes a discussion of a collector facility to much more reliably test for
the potential of unbounded heap growth.
</p><p>
<b>The following papers discuss language and compiler restrictions necessary to guaranteed
safety of conservative garbage collection.</b>
</p><p>
We thank John Levine and JCLT for allowing
us to make the second paper available electronically, and providing PostScript for the final
version.
</p><p>
Boehm, H., <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers/pldi96.ps.gz">``Simple
Garbage-Collector-Safety''</a>, Proceedings
of the ACM SIGPLAN '96 Conference on Programming Language Design
and Implementation.
</p><p>
Boehm, H., and D. Chase,  <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers/boecha.ps.gz">
``A Proposal for Garbage-Collector-Safe C Compilation''</a>,
<i>Journal of C  Language Translation 4</i>, 2 (Decemeber 1992), pp. 126-141.
</p><p>
<b>Other related information: </b>
</p><p>
The Detlefs, Dosser and Zorn's <a href="ftp://ftp.cs.colorado.edu/pub/techreports/zorn/CU-CS-665-93.ps.Z">Memory Allocation Costs in Large C and C++ Programs</a>.
 This is a performance comparison of the Boehm-Demers-Weiser collector to malloc/free,
using programs written for malloc/free.
</p><p>
Joel Bartlett's <a href="ftp://ftp.digital.com/pub/DEC/CCgc">mostly copying conservative garbage collector for C++</a>.
</p><p>
John Ellis and David Detlef's <a href="ftp://parcftp.xerox.com/pub/ellis/gc/gc.ps">Safe Efficient Garbage Collection for C++</a> proposal.
</p><p>
Henry Baker's <a href="http://home.pipeline.com/%7Ehbaker1/">paper collection</a>.
</p><p>
Slides for Hans Boehm's <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/myths.ps">Allocation and GC Myths</a> talk.
</p><h1><a name="users">Current users:</a></h1>
Known current users of some variant of this collector include:
<p>
The runtime system for <a href="http://gcc.gnu.org/java">GCJ</a>,
the static GNU java compiler.
</p><p>
<a href="http://w3m.sourceforge.net/">W3m</a>, a text-based web browser.
</p><p>
Some versions of the Xerox DocuPrint printer software.
</p><p>
The <a href="http://www.mozilla.org/">Mozilla</a> project, as leak
detector.
</p><p>
The <a href="http://www.go-mono.com/">Mono</a> project,
an open source implementation of the .NET development framework.
</p><p>
The <a href="http://www.gnu.org/projects/dotgnu/">DotGNU Portable.NET
project</a>, another open source .NET implementation.
</p><p>
The <a href="http://irssi.org/">Irssi IRC client</a>.
</p><p>
<a href="http://titanium.cs.berkeley.edu/">The Berkeley Titanium project</a>.
</p><p>
<a href="http://www.nag.co.uk/nagware_fortran_compilers.asp">The NAGWare f90 Fortran 90 compiler</a>.
</p><p>
Elwood Corporation's <a href="http://www.elwood.com/eclipse-info/index.htm">
Eclipse</a> Common Lisp system, C library, and translator.
</p><p>
The <a href="http://www-sop.inria.fr/mimosa/fp/Bigloo/">Bigloo
Scheme</a>
and <a href="http://kaolin.unice.fr/%7Eserrano/camloo.html">Camloo ML
compilers</a>
written by Manuel Serrano and others.
</p><p>
Brent Benson's <a href="http://ftp.cs.indiana.edu/pub/scheme-repository/imp/">libscheme</a>.
</p><p>
The <a href="http://www.cs.rice.edu/CS/PLT/packages/mzscheme/index.html">MzScheme</a> scheme implementation.
</p><p>
The <a href="http://www.cs.washington.edu/research/projects/cecil/www/cecil-home.html">University of Washington Cecil Implementation</a>.
</p><p>
<a href="http://www.icsi.berkeley.edu/Sather/">The Berkeley Sather implementation</a>.
</p><p>
<a href="http://www.cs.berkeley.edu/%7Eharmonia/">The Berkeley Harmonia Project</a>.
</p><p>
The <a href="http://www.cs.arizona.edu/sumatra/toba/">Toba</a> Java Virtual
Machine to C translator.
</p><p>
The <a href="http://www.gwydiondylan.org/">Gwydion Dylan compiler</a>.
</p><p>
The <a href="http://gcc.gnu.org/onlinedocs/gcc/Objective-C.html">
GNU Objective C runtime</a>.
</p><p>
<a href="http://www.math.uiuc.edu/Macaulay2">Macaulay 2</a>, a system to support
research in algebraic geometry and commutative algebra.
</p><p>
The <a href="http://www.vestasys.org/">Vesta</a> configuration management
system.
</p><p>
<a href="http://www.visual-prolog.com/vip6">Visual Prolog 6</a>.
</p><p>
<a href="http://asymptote.sf.net/">Asymptote LaTeX-compatible
vector graphics language.</a>

</p><h1><a name="collector">More collector information at this site</a></h1>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/simple_example.html">A simple illustration of how to build and
use the collector.</a>.
<p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html">Description of alternate interfaces to the
garbage collector.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/04tutorial.pdf">Slides from an ISMM 2004  tutorial about the GC.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/faq.html">A FAQ (frequently asked questions) list.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html">How to use the garbage collector as a leak detector.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/debugging.html">Some hints on debugging garbage collected
applications.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcdescr.html">An overview of the implementation of the
garbage collector.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/porting.html">Instructions for porting the collector to new
platforms.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/tree.html">The data structure used for fast pointer lookups.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/scale.html">Scalability of the collector to multiprocessors.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source">Directory containing garbage collector source.</a>

</p><h1><a name="background">More background information at this site</a></h1>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/bounds.html">An attempt to establish a bound on space usage of
conservative garbage collectors.</a>
<p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html">Mark-sweep versus copying garbage collectors
and their complexity.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/conservative.html">Pros and cons of conservative garbage collectors,
in comparison to other collectors.
</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html">Issues related to garbage collection vs.
manual memory management in C/C++.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/example.html">An example of a case in which garbage collection
results in a much faster implementation as a result of reduced
synchronization.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/nonmoving">Slide set discussing performance of nonmoving
garbage collectors.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/popl03/web">
Slide set discussing <i>Destructors, Finalizers, and Synchronization</i>
(POPL 2003).</a>
</p><p>
<a href="http://portal.acm.org/citation.cfm?doid=604131.604153">
Paper corresponding to above slide set.</a>
(<a href="http://www.hpl.hp.com/techreports/2002/HPL-2002-335.html">
Technical Report version</a>.)
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_bench.html">A Java/Scheme/C/C++ garbage collection benchmark.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/myths.ps">Slides for talk on memory allocation myths.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gctalk.ps">Slides for OOPSLA 98 garbage collection talk.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers">Related papers.</a>
</p><h1><a name="contacts">Contacts and Mailing List</a><a></a></h1>
<a>We have recently set up two mailing list for collector announcements
and discussions:
</a><ul>
<li><a href="mailto:gc-announce@linux.hpl.hp.com">gc-announce@linux.hpl.hp.com</a>
is used for announcements of new versions.  Postings are restricted.
We expect this to always remain a very low volume list.
</li><li><a href="mailto:gc@linux.hpl.hp.com">gc@linux.hpl.hp.com</a> is used for
discussions, bug reports, and the like.  Subscribers may post.
On-topic posts by nonsubscribers will usually also be accepted, but
it may take some time to review them.
</li></ul>
To subscribe to these lists, send a mail message containing the
word "subscribe" to
<a href="mailto:gc-announce-request@linux.hpl.hp.com?subject=subscribe">gc-announce-request@linux.hpl.hp.com</a>
or to
<a href="mailto:gc-request@linux.hpl.hp.com?subject=subscribe">gc-request@linux.hpl.hp.com</a>.
(Please ignore the instructions about web-based subscription.
The listed web site is behind the HP firewall.)
<p>
The archives for these lists appear
<a href="http://www.hpl.hp.com/hosted/linux/mail-archives">here</a>.
The gc list archive may also be read at
<a href="http://dir.gmane.org/gmane.comp.programming.garbage-collection.boehmgc">gmane.org</a>.
</p><p>
Some prior discussion of the collector has taken place on the gcc
java mailing list, whose archives appear
<a href="http://gcc.gnu.org/ml/java/">here</a>, and also on
<a href="http://lists.tunes.org/mailman/listinfo/gclist">gclist@iecc.com</a>.
</p><p>
Comments and bug reports may also be sent to
(<a href="mailto:Hans_Boehm@hp.com">Hans.Boehm@hp.com</a>) or
(<a href="mailto:boehm@acm.org">boehm@acm.org</a>), but the gc
mailing list is usually preferred.
 
<!-- Begin METRICS JavaScript -->
<!-- <script type="text/javascript" language="JavaScript" src="http://welcome.hp-ww.com/country/us/eng/js/metrics.js"></script> --> <script type="text/javascript" language="JavaScript" src="A%20garbage%20collector%20for%20C%20and%20C++_files/hplabsmetrics.js"></script><img src="A%20garbage%20collector%20for%20C%20and%20C++_files/s87942632381439.gif" name="s_i_hphqglobal" alt="" border="0" height="1" width="1">
<!-- End METRICS JavaScript -->
</p></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -