[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