~ubuntu-branches/debian/squeeze/ghostscript/squeeze

« back to all changes in this revision

Viewing changes to doc/Develop.htm

  • Committer: Bazaar Package Importer
  • Author(s): Masayuki Hatta (mhatta)
  • Date: 2009-01-04 12:09:59 UTC
  • mfrom: (16.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20090104120959-m9lbagj775ucg0h3
Tags: 8.63.dfsg.1-2
libgs-dev: put versioned dependency on libgs8 - closes: #510691

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<head>
4
4
<title>Information for Ghostscript developers</title>
5
5
<link rel="stylesheet" type="text/css" href="gs.css" title="Ghostscript Style">
6
 
<!-- $Id: Develop.htm 8562 2008-02-29 20:49:02Z giles $ -->
 
6
<!-- $Id: Develop.htm 8909 2008-08-01 17:53:17Z giles $ -->
7
7
</head>
8
8
 
9
9
<body>
100
100
<ul>
101
101
<li><a href="#malloc">malloc</a>,
102
102
    <a href="#Locking">Locking</a>,
103
 
    <a href="#Retrying">Retrying</a>
 
103
    <a href="#Retrying">Retrying</a>,
 
104
    <a href="#Chunk">Chunk</a>
104
105
</ul>
105
106
<li><a href="#Standard_implementation">Standard implementation</a>
106
107
<li><a href="#PostScript_interpreter_extensions">PostScript interpreter extensions</a>
563
564
<a href="../src/sbwbs.h">src/sbwbs.h</a>,
564
565
<a href="../src/smd5.c">src/smd5.c</a>,
565
566
<a href="../src/smd5.h">src/smd5.h</a>,
 
567
<a href="../src/saes.c">src/saes.c</a>,
 
568
<a href="../src/saes.h">src/saes.h</a>,
566
569
<a href="../src/sarc4.c">src/sarc4.c</a>,
567
570
<a href="../src/sarc4.h">src/sarc4.h</a>,
568
571
<a href="../src/smtf.c">src/smtf.c</a>,
648
651
<a href="../src/gx.h">src/gx.h</a>,
649
652
<a href="../src/md5.c">src/md5.c</a>,
650
653
<a href="../src/md5.h">src/md5.h</a>,
651
 
<a href="../src/md5main.c">src/md5main.c</a>.
 
654
<a href="../src/md5main.c">src/md5main.c</a>,
 
655
<a href="../src/aes.c">src/aes.c</a>,
 
656
<a href="../src/aes.h">src/aes.h</a>.
652
657
 
653
658
</dl>
654
659
 
1522
1527
<a href="../src/gxclrast.c">src/gxclrast.c</a>,
1523
1528
<a href="../src/gxclread.c">src/gxclread.c</a>,
1524
1529
<a href="../src/gxclrect.c">src/gxclrect.c</a>,
 
1530
<a href="../src/gxclthrd.c">src/gxclthrd.c</a>,
 
1531
<a href="../src/gxclthrd.h">src/gxclthrd.h</a>,
1525
1532
<a href="../src/gxclutil.c">src/gxclutil.c</a>,
1526
1533
<a href="../src/gxclzlib.c">src/gxclzlib.c</a>,
1527
1534
<a href="../src/gxdhtserial.c">src/gxdhtserial.c</a>,
1808
1815
<a href="../src/gdevpxut.h">src/gdevpxut.h</a>.
1809
1816
 
1810
1817
<dt>
 
1818
Cairo and SVG output devices (cairo, svgwrite):
 
1819
<dd>
 
1820
<a href="../src/gdevcairo.c">src/gdevcairo.c</a>,
 
1821
<a href="../src/gdevsvg.c">src/gdevsvg.c</a>.
 
1822
 
 
1823
<p>
 
1824
The svgwrite device produces SVG only. The cairo device uses the cairo 
 
1825
graphics library to produce PDF, EPS, SVG or PNG output, based on the
 
1826
requested filename extension.
 
1827
 
 
1828
<dt>
1811
1829
Text extraction:
1812
1830
<dd>
1813
1831
<a href="../src/gdevtxtw.c">src/gdevtxtw.c</a>.
2374
2392
<a href="../src/itoken.h">src/itoken.h</a>,
2375
2393
<a href="../src/zbseq.c">src/zbseq.c</a>,
2376
2394
<a href="../src/zdscpars.c">src/zdscpars.c</a>,
 
2395
<a href="../src/zfile.h">src/zfile.h</a>,
2377
2396
<a href="../src/zfile.c">src/zfile.c</a>,
2378
2397
<a href="../src/zfile1.c">src/zfile1.c</a>,
2379
2398
<a href="../src/zfileio.c">src/zfileio.c</a>,
3804
3823
all allocators with an expandable pool is one that calls
3805
3824
<b><tt>malloc</tt></b>.
3806
3825
 
 
3826
<p>Note that the default gsmalloc.c allocator for malloc/free now uses
 
3827
a mutex so that allocators that use this can be assured of thread safe
 
3828
behavior.
 
3829
 
3807
3830
<dl>
3808
3831
<dt>
3809
3832
Files:
3849
3872
<a href="../src/gsmemret.c">src/gsmemret.c</a>.
3850
3873
</dl>
3851
3874
 
 
3875
<h4><a name="Chunk"></a>Chunk</h4>
 
3876
 
 
3877
<p>When multiple threads are used and there may be frequent memory allocator
 
3878
requests, mutex contention is a problem and can cause severe performance
 
3879
degradation. The chunk memory wrapper can provide each thread with its own
 
3880
instance of an allocator that only makes requests on the underlying (non-GC)
 
3881
alloctor when large blocks are needed. Small object allocations are managed
 
3882
within chunks.
 
3883
 
 
3884
<p>This allocator is intended to be used on top of the basic 'gsmalloc'
 
3885
allocator (malloc/free) which is NOT garbage collected or relocated and
 
3886
which MUST be mutex protected.
 
3887
 
 
3888
<dl>
 
3889
<dt>
 
3890
Files:
 
3891
<dd>
 
3892
<a href="../src/gsmchunk.h">src/gsmchunk.h</a>,
 
3893
<a href="../src/gsmchunk.c">src/gsmchunk.c</a>.
 
3894
</dl>
 
3895
 
3852
3896
<h3><a name="Standard_implementation"></a>Standard implementation</h3>
3853
3897
 
3854
3898
<p>
4864
4908
San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
4865
4909
 
4866
4910
<p>
4867
 
<small>Ghostscript version 8.62, 29 February 2008
 
4911
<small>Ghostscript version 8.63, 1 August 2008
4868
4912
 
4869
4913
<!-- [3.0 end visible trailer] ============================================= -->
4870
4914