[gs-cvs] rev 8758 - trunk/gs/doc
ray at ghostscript.com
ray at ghostscript.com
Tue May 20 23:35:35 PDT 2008
Author: ray
Date: 2008-05-20 23:35:34 -0700 (Tue, 20 May 2008)
New Revision: 8758
Modified:
trunk/gs/doc/Develop.htm
Log:
Add some missing information for the clist multi-threaded rendering files and
the chunk memory wrapper. This cleans up (som of) the nightly regression nags.
Modified: trunk/gs/doc/Develop.htm
===================================================================
--- trunk/gs/doc/Develop.htm 2008-05-21 01:37:08 UTC (rev 8757)
+++ trunk/gs/doc/Develop.htm 2008-05-21 06:35:34 UTC (rev 8758)
@@ -100,7 +100,8 @@
<ul>
<li><a href="#malloc">malloc</a>,
<a href="#Locking">Locking</a>,
- <a href="#Retrying">Retrying</a>
+ <a href="#Retrying">Retrying</a>,
+ <a href="#Chunk">Chunk</a>
</ul>
<li><a href="#Standard_implementation">Standard implementation</a>
<li><a href="#PostScript_interpreter_extensions">PostScript interpreter extensions</a>
@@ -563,6 +564,8 @@
<a href="../src/sbwbs.h">src/sbwbs.h</a>,
<a href="../src/smd5.c">src/smd5.c</a>,
<a href="../src/smd5.h">src/smd5.h</a>,
+<a href="../src/saes.c">src/saes.c</a>,
+<a href="../src/saes.h">src/saes.h</a>,
<a href="../src/sarc4.c">src/sarc4.c</a>,
<a href="../src/sarc4.h">src/sarc4.h</a>,
<a href="../src/smtf.c">src/smtf.c</a>,
@@ -1522,6 +1525,8 @@
<a href="../src/gxclrast.c">src/gxclrast.c</a>,
<a href="../src/gxclread.c">src/gxclread.c</a>,
<a href="../src/gxclrect.c">src/gxclrect.c</a>,
+<a href="../src/gxclthrd.c">src/gxclthrd.c</a>,
+<a href="../src/gxclthrd.h">src/gxclthrd.h</a>,
<a href="../src/gxclutil.c">src/gxclutil.c</a>,
<a href="../src/gxclzlib.c">src/gxclzlib.c</a>,
<a href="../src/gxdhtserial.c">src/gxdhtserial.c</a>,
@@ -3804,6 +3809,10 @@
all allocators with an expandable pool is one that calls
<b><tt>malloc</tt></b>.
+<p>Note that the default gsmalloc.c allocator for malloc/free now uses
+a mutex so that allocators that use this can be assured of thread safe
+behavior.
+
<dl>
<dt>
Files:
@@ -3849,6 +3858,27 @@
<a href="../src/gsmemret.c">src/gsmemret.c</a>.
</dl>
+<h4><a name="Chunk"></a>Chunk</h4>
+
+<p>When multiple threads are used and there may be frequent memory allocator
+requests, mutex contention is a problem and can cause severe performance
+degradation. The chunk memory wrapper can provide each thread with its own
+instance of an allocator that only makes requests on the underlying (non-GC)
+alloctor when large blocks are needed. Small object allocations are managed
+within chunks.
+
+<p>This allocator is intended to be used on top of the basic 'gsmalloc'
+allocator (malloc/free) which is NOT garbage collected or relocated and
+which MUST be mutex protected.
+
+<dl>
+<dt>
+Files:
+<dd>
+<a href="../src/gsmchunk.h">src/gsmchunk.h</a>,
+<a href="../src/gsmchunk.c">src/gsmchunk.c</a>.
+</dl>
+
<h3><a name="Standard_implementation"></a>Standard implementation</h3>
<p>
More information about the gs-cvs
mailing list