Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v8plus / html / python / lib / module-cPickle.html
CommitLineData
920dae64
AT
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3<head>
4<link rel="STYLESHEET" href="lib.css" type='text/css' />
5<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
6<link rel='start' href='../index.html' title='Python Documentation Index' />
7<link rel="first" href="lib.html" title='Python Library Reference' />
8<link rel='contents' href='contents.html' title="Contents" />
9<link rel='index' href='genindex.html' title='Index' />
10<link rel='last' href='about.html' title='About this document...' />
11<link rel='help' href='about.html' title='About this document...' />
12<link rel="next" href="module-copyreg.html" />
13<link rel="prev" href="module-pickle.html" />
14<link rel="parent" href="python.html" />
15<link rel="next" href="module-copyreg.html" />
16<meta name='aesop' content='information' />
17<title>3.15 cPickle -- A faster pickle</title>
18</head>
19<body>
20<DIV CLASS="navigation">
21<div id='top-navigation-panel' xml:id='top-navigation-panel'>
22<table align="center" width="100%" cellpadding="0" cellspacing="2">
23<tr>
24<td class='online-navigation'><a rel="prev" title="3.14.7 Example"
25 href="pickle-example.html"><img src='../icons/previous.png'
26 border='0' height='32' alt='Previous Page' width='32' /></A></td>
27<td class='online-navigation'><a rel="parent" title="3. Python Runtime Services"
28 href="python.html"><img src='../icons/up.png'
29 border='0' height='32' alt='Up One Level' width='32' /></A></td>
30<td class='online-navigation'><a rel="next" title="3.16 copy_reg "
31 href="module-copyreg.html"><img src='../icons/next.png'
32 border='0' height='32' alt='Next Page' width='32' /></A></td>
33<td align="center" width="100%">Python Library Reference</td>
34<td class='online-navigation'><a rel="contents" title="Table of Contents"
35 href="contents.html"><img src='../icons/contents.png'
36 border='0' height='32' alt='Contents' width='32' /></A></td>
37<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
38 border='0' height='32' alt='Module Index' width='32' /></a></td>
39<td class='online-navigation'><a rel="index" title="Index"
40 href="genindex.html"><img src='../icons/index.png'
41 border='0' height='32' alt='Index' width='32' /></A></td>
42</tr></table>
43<div class='online-navigation'>
44<b class="navlabel">Previous:</b>
45<a class="sectref" rel="prev" href="pickle-example.html">3.14.7 Example</A>
46<b class="navlabel">Up:</b>
47<a class="sectref" rel="parent" href="python.html">3. Python Runtime Services</A>
48<b class="navlabel">Next:</b>
49<a class="sectref" rel="next" href="module-copyreg.html">3.16 copy_reg </A>
50</div>
51<hr /></div>
52</DIV>
53<!--End of Navigation Panel-->
54
55<H1><A NAME="SECTION0051500000000000000000">
563.15 <tt class="module">cPickle</tt> -- A faster <tt class="module">pickle</tt></A>
57</H1>
58
59<P>
60<A NAME="module-cPickle"></A>
61
62<P>
63The <tt class="module">cPickle</tt> module supports serialization and
64de-serialization of Python objects, providing an interface and
65functionality nearly identical to the
66<tt class="module"><a href="module-pickle.html">pickle</a></tt><a id='l2h-658' xml:id='l2h-658'></a> module. There are several
67differences, the most important being performance and subclassability.
68
69<P>
70First, <tt class="module">cPickle</tt> can be up to 1000 times faster than
71<tt class="module">pickle</tt> because the former is implemented in C. Second, in
72the <tt class="module">cPickle</tt> module the callables <tt class="function">Pickler()</tt> and
73<tt class="function">Unpickler()</tt> are functions, not classes. This means that
74you cannot use them to derive custom pickling and unpickling
75subclasses. Most applications have no need for this functionality and
76should benefit from the greatly improved performance of the
77<tt class="module">cPickle</tt> module.
78
79<P>
80The pickle data stream produced by <tt class="module">pickle</tt> and
81<tt class="module">cPickle</tt> are identical, so it is possible to use
82<tt class="module">pickle</tt> and <tt class="module">cPickle</tt> interchangeably with existing
83pickles.<A NAME="tex2html23"
84 HREF="#foot8958"><SUP>3.11</SUP></A>
85<P>
86There are additional minor differences in API between <tt class="module">cPickle</tt>
87and <tt class="module">pickle</tt>, however for most applications, they are
88interchangeable. More documentation is provided in the
89<tt class="module">pickle</tt> module documentation, which
90includes a list of the documented differences.
91
92<P>
93<BR><HR><H4>Footnotes</H4>
94<DL>
95<DT><A NAME="foot8958">...
96pickles.</A><A
97 href="module-cPickle.html#tex2html23"><SUP>3.11</SUP></A></DT>
98<DD>Since the pickle data format is actually a tiny
99stack-oriented programming language, and some freedom is taken in the
100encodings of certain objects, it is possible that the two modules
101produce different data streams for the same input objects. However it
102is guaranteed that they will always be able to read each other's
103data streams.
104
105</DD>
106</DL>
107<DIV CLASS="navigation">
108<div class='online-navigation'>
109<p></p><hr />
110<table align="center" width="100%" cellpadding="0" cellspacing="2">
111<tr>
112<td class='online-navigation'><a rel="prev" title="3.14.7 Example"
113 href="pickle-example.html"><img src='../icons/previous.png'
114 border='0' height='32' alt='Previous Page' width='32' /></A></td>
115<td class='online-navigation'><a rel="parent" title="3. Python Runtime Services"
116 href="python.html"><img src='../icons/up.png'
117 border='0' height='32' alt='Up One Level' width='32' /></A></td>
118<td class='online-navigation'><a rel="next" title="3.16 copy_reg "
119 href="module-copyreg.html"><img src='../icons/next.png'
120 border='0' height='32' alt='Next Page' width='32' /></A></td>
121<td align="center" width="100%">Python Library Reference</td>
122<td class='online-navigation'><a rel="contents" title="Table of Contents"
123 href="contents.html"><img src='../icons/contents.png'
124 border='0' height='32' alt='Contents' width='32' /></A></td>
125<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
126 border='0' height='32' alt='Module Index' width='32' /></a></td>
127<td class='online-navigation'><a rel="index" title="Index"
128 href="genindex.html"><img src='../icons/index.png'
129 border='0' height='32' alt='Index' width='32' /></A></td>
130</tr></table>
131<div class='online-navigation'>
132<b class="navlabel">Previous:</b>
133<a class="sectref" rel="prev" href="pickle-example.html">3.14.7 Example</A>
134<b class="navlabel">Up:</b>
135<a class="sectref" rel="parent" href="python.html">3. Python Runtime Services</A>
136<b class="navlabel">Next:</b>
137<a class="sectref" rel="next" href="module-copyreg.html">3.16 copy_reg </A>
138</div>
139</div>
140<hr />
141<span class="release-info">Release 2.4.2, documentation updated on 28 September 2005.</span>
142</DIV>
143<!--End of Navigation Panel-->
144<ADDRESS>
145See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
146</ADDRESS>
147</BODY>
148</HTML>