cpython/Modules
Alexandre Vassalotti b6a2f2a0d1 Make framing optional in pickle protocol 4.
This will allow us to control in the future whether to use framing or not.
For example, we may want to turn it off for tiny pickle where it doesn't
help.

The change also improves performance slightly:

### fastpickle ###
Min: 0.608517 -> 0.557358: 1.09x faster
Avg: 0.798892 -> 0.694738: 1.15x faster
Significant (t=3.45)
Stddev: 0.17145 -> 0.12704: 1.3496x smaller
Timeline: http://goo.gl/3xQE1J

### pickle_dict ###
Min: 0.669920 -> 0.615271: 1.09x faster
Avg: 0.733633 -> 0.645058: 1.14x faster
Significant (t=5.05)
Stddev: 0.12041 -> 0.02961: 4.0662x smaller
Timeline: http://goo.gl/LpLSXI

### pickle_list ###
Min: 0.397583 -> 0.368112: 1.08x faster
Avg: 0.412784 -> 0.397223: 1.04x faster
Significant (t=2.78)
Stddev: 0.01518 -> 0.03653: 2.4068x larger
Timeline: http://goo.gl/v39E59

### unpickle_list ###
Min: 0.692935 -> 0.594870: 1.16x faster
Avg: 0.730012 -> 0.628395: 1.16x faster
Significant (t=17.76)
Stddev: 0.02720 -> 0.02995: 1.1012x larger
Timeline: http://goo.gl/2P9AEt

The following not significant results are hidden, use -v to show them:
fastunpickle.
2013-11-23 20:30:03 -08:00
..
_ctypes Issue #19437: Fix error handling of PyCArrayType_new(), don't decreases the 2013-11-18 18:37:33 +01:00
_decimal Move PyErr_NoMemory() closer to the failure. 2013-11-08 18:05:02 +01:00
_io Issue #15204: Deprecated the 'U' mode in file-like objects. 2013-11-23 22:12:06 +02:00
_multiprocessing Fix conversion from Py_ssize_t to int. 2013-09-07 17:40:45 +01:00
_sha3 Issue #19520: Fix (the last!) compiler warning on 32bit Windows, in _sha3 2013-11-17 16:08:23 -06:00
_sqlite sqlite: Use Py_ssize_t to store a size instead of an int 2013-11-18 02:07:29 +01:00
cjkcodecs Issue #19515: Remove identifiers duplicated in the same file. 2013-11-12 21:39:02 +01:00
expat Issue #17047: remove doubled words found in 2.7 to 3.4 Modules/*, 2013-03-11 17:42:46 -04:00
zlib Issue #18527: Upgrade internal copy of zlib to 1.2.8 2013-10-21 12:03:09 +02:00
Setup.config.in
Setup.dist Issue #18874: Implement the PEP 454 (tracemalloc) 2013-11-23 12:27:24 +01:00
_bisectmodule.c Issue #19514: Deduplicate some _Py_IDENTIFIER declarations. 2013-11-07 18:46:53 +01:00
_bz2module.c #19395: Raise exception when pickling a (BZ2|LZMA)(Compressor|Decompressor). 2013-10-28 21:41:24 +01:00
_codecsmodule.c Issue #18722: Remove uses of the "register" keyword in C code. 2013-08-13 20:18:52 +02:00
_collectionsmodule.c Issue #19512: _count_elements() of _collections reuses PyId_get identifier 2013-11-06 23:52:55 +01:00
_cryptmodule.c Issue #10924: Adding salt and Modular Crypt Format to crypt library. 2011-02-22 10:55:44 +00:00
_csv.c Issue #19437: Fix parse_save_field() of the csv module, handle PyList_Append() 2013-11-14 21:29:34 +01:00
_curses_panel.c Issue #18408: Fix PyInit__curses_panel(), handle import_curses() failure 2013-07-18 02:31:21 +02:00
_cursesmodule.c Issue #19674: inspect.signature() now produces a correct signature 2013-11-23 15:37:55 -08:00
_datetimemodule.c Issue #19674: inspect.signature() now produces a correct signature 2013-11-23 15:37:55 -08:00
_dbmmodule.c Issue #19674: inspect.signature() now produces a correct signature 2013-11-23 15:37:55 -08:00
_elementtree.c Don't use deprecated function PyUnicode_GET_SIZE() 2013-11-13 14:17:30 +01:00
_freeze_importlib.c Now all error paths of _freeze_importlib use 'goto error' and the error label cleans up all used resources. 2013-07-21 23:05:11 +02:00
_functoolsmodule.c Issue #6083: Fix multiple segmentation faults occured when PyArg_ParseTuple 2013-02-04 12:54:04 +02:00
_gdbmmodule.c Close #19282: Native context management in dbm 2013-11-17 15:59:51 +10:00
_hashopenssl.c Remove unused code path from PBKDF2 that is causing a warning on Win64 2013-11-18 09:59:44 +01:00
_heapqmodule.c Issue #18408: Fix heapq.heappop(), handle PyList_SetSlice() failure 2013-07-17 21:50:21 +02:00
_json.c Close #18264: int- and float-derived enums now converted to int or float. 2013-08-10 13:01:45 -07:00
_localemodule.c Cleanup locale.localeconv(): move Py_DECREF() closer to the error 2013-10-29 19:28:20 +01:00
_lsprof.c Issue #19512, #19515: remove shared identifiers, move identifiers where they 2013-11-07 23:07:29 +01:00
_lzmamodule.c #19395: Raise exception when pickling a (BZ2|LZMA)(Compressor|Decompressor). 2013-10-28 21:41:24 +01:00
_math.c Issue #15477: Add workaround for log1p(-0.0) on platforms where it's broken. 2012-08-18 12:24:30 +01:00
_math.h Issue #15477: Add workaround for log1p(-0.0) on platforms where it's broken. 2012-08-18 12:24:30 +01:00
_opcode.c Issue #19674: inspect.signature() now produces a correct signature 2013-11-23 15:37:55 -08:00
_operator.c #16523: merge with 3.3. 2013-05-08 10:56:32 +03:00
_pickle.c Make framing optional in pickle protocol 4. 2013-11-23 20:30:03 -08:00
_posixsubprocess.c Issue #18571: Implementation of the PEP 446: file descriptors and file handles 2013-08-28 00:53:59 +02:00
_randommodule.c Fix compiler warning on Windows 64-bit: explicit cast size_t to unsigned long 2013-11-15 23:16:15 +01:00
_scproxy.c Merged revisions 85062 via svnmerge from 2010-09-28 14:40:22 +00:00
_sre.c Issue #16203: Add re.fullmatch() function and regex.fullmatch() method, 2013-11-23 23:20:30 +02:00
_ssl.c Issue #8813: X509_VERIFY_PARAM is only available on OpenSSL 0.9.8+ 2013-11-23 11:24:32 +01:00
_ssl_data.h Add forgotten files for #14837. 2012-06-22 21:12:59 +02:00
_stat.c Issue #11016: Don't define macros and constants that are already set by pyport.h 2013-06-24 00:13:14 +02:00
_struct.c - Modules/_struct.c (unpackiter_type): Define static. 2013-11-23 16:07:55 +01:00
_testbuffer.c Re #18521: fix not-quite-C syntax that works only because the PyXXX_Check are macros defined with () around them. 2013-10-14 06:46:12 +02:00
_testcapimodule.c Issue #19674: inspect.signature() now produces a correct signature 2013-11-23 15:37:55 -08:00
_testembed.c Issue #16129: Add `Py_SetStandardStreamEncoding` 2013-10-17 22:35:35 +10:00
_testimportmultiple.c Remove compile warnings for _testimportmodule 2012-12-15 18:16:47 +02:00
_threadmodule.c Issue #19512, #19515: remove shared identifiers, move identifiers where they 2013-11-07 23:07:29 +01:00
_tkinter.c Issue #19028: Fixed tkinter.Tkapp.merge() for non-string arguments. 2013-09-23 23:20:07 +03:00
_tracemalloc.c Issue #18874: Remove tracemalloc.set_traceback_limit() 2013-11-23 12:37:20 +01:00
_weakref.c Issue #19674: inspect.signature() now produces a correct signature 2013-11-23 15:37:55 -08:00
_winapi.c Issue #19565: Prevent warnings at shutdown about pending overlapped ops. 2013-11-17 13:15:51 +00:00
addrinfo.h
ar_beos
arraymodule.c Issue #19437: Fix array.buffer_info(), handle PyLong_FromVoidPtr() and 2013-11-14 01:27:12 +01:00
atexitmodule.c Issue #18619: Fix atexit leaking callbacks registered from sub-interpreters, and make it GC-aware. 2013-08-01 20:56:12 +02:00
audioop.c Issue #19641: Added the audioop.byteswap() function to convert big-endian 2013-11-23 22:26:01 +02:00
binascii.c Merge #19411: Clarify that b2a_hex/hexlify returns a bytes object. 2013-11-03 13:22:17 -05:00
cmathmodule.c Issue #18513: Add workaround for OS X 10.8 cexp bug that leads to wrong cmath.rect(0.0,-0.0) results. 2013-07-20 17:59:13 +01:00
config.c.in Issue #14605: Stop having implicit entries for sys.meta_path. 2012-04-27 14:01:58 -04:00
errnomodule.c Fix #13210. Port the Windows build from VS2008 to VS2010. 2012-05-13 11:19:23 -05:00
faulthandler.c Issue #19512, #19515: remove shared identifiers, move identifiers where they 2013-11-07 23:07:29 +01:00
fcntlmodule.c Merge #18985: Improve fcntl documentation. 2013-11-07 10:51:41 -05:00
fpectlmodule.c Issue #11495: OSF support is eliminated. It was deprecated in Python 3.2 2011-03-14 17:36:54 +01:00
fpetestmodule.c
gc_weakref.txt Issue #13575: there is only one class type. 2011-12-12 18:54:29 +01:00
gcmodule.c Replace an overly optimistic assert() in _PyGC_CollectNoFail with a simple guard. 2013-08-15 20:15:15 +02:00
getaddrinfo.c Issue #15538: Fix compilation of the getnameinfo() / getaddrinfo() emulation code. 2012-08-02 20:37:12 +02:00
getbuildinfo.c merge 3.2 2011-03-28 17:26:04 -05:00
getnameinfo.c Issue #15538: Fix compilation of the getnameinfo() / getaddrinfo() emulation code. 2012-08-02 20:37:12 +02:00
getpath.c calculate_path() now fails with a fatal error when it fails to allocate memory 2013-11-16 01:22:04 +01:00
grpmodule.c Issue #18661: typo in grp.struct_group docstring (fix merged from 3.3). Thanks Vajrasky Kok. 2013-08-05 17:57:54 +01:00
hashlib.h Closes #18627: merge from 3.3 2013-08-01 22:13:30 -07:00
hashtable.c Issue #18874: Implement the PEP 454 (tracemalloc) 2013-11-23 12:27:24 +01:00
hashtable.h Issue #18874: Implement the PEP 454 (tracemalloc) 2013-11-23 12:27:24 +01:00
itertoolsmodule.c Add a comment making it explicit that itertools.tee() is already 64bit-safe (issue #19049) 2013-09-20 22:19:22 +02:00
ld_so_aix.in #941346: Fix broken shared library build on AIX. Patch by Sebastien Sable, review by Antoine Pitrou. 2011-02-15 15:44:51 +00:00
ld_so_beos
main.c Issue #19512, #19515: remove shared identifiers, move identifiers where they 2013-11-07 23:07:29 +01:00
makesetup
makexp_aix
mathmodule.c Issue #18783: Removed existing mentions of Python long type in docstrings, 2013-08-27 19:40:23 +03:00
md5module.c Issue #18742: Expose the internal hash type object for ABCs. 2013-10-22 15:05:23 +02:00
mmapmodule.c Issue #18571: Implementation of the PEP 446: file descriptors and file handles 2013-08-28 00:53:59 +02:00
nismodule.c Remove a redundant assignment. 2011-06-06 20:24:11 -07:00
ossaudiodev.c Issue #18571: Implementation of the PEP 446: file descriptors and file handles 2013-08-28 00:53:59 +02:00
overlapped.c asyncio: Make the IOCP proactor support "waitable" handles (Richard Oudkerk). 2013-10-30 14:44:05 -07:00
parsermodule.c Close #11619: The parser and the import machinery do not encode Unicode 2013-08-26 22:28:21 +02:00
posixmodule.c Issue #19674: inspect.signature() now produces a correct signature 2013-11-23 15:37:55 -08:00
posixmodule.h Issue #4591: Uid and gid values larger than 2**31 are supported now. 2013-02-12 09:24:16 +02:00
pwdmodule.c Issue #18520: Add a new PyStructSequence_InitType2() function, same than 2013-07-22 22:24:54 +02:00
pyexpat.c silence an overflow warning. slen is smaller than 1MB 2013-11-22 00:46:18 +01:00
python.c Issue #15893: Improve error handling in main() and Py_FrozenMain() 2013-07-27 02:39:09 +02:00
readline.c Issue #1772673: The type of `char*` arguments now changed to `const char*`. 2013-10-19 21:03:34 +03:00
resource.c Issue #16595: Add prlimit() to resource module 2013-10-22 11:21:54 +02:00
rotatingtree.c
rotatingtree.h
selectmodule.c Issue #19437: Fix select.epoll.poll(), fix code handling PyMem_New() error 2013-10-30 19:57:52 +01:00
sha1module.c Issue #18742: Expose the internal hash type object for ABCs. 2013-10-22 15:05:23 +02:00
sha256module.c Issue #18742: Expose the internal hash type object for ABCs. 2013-10-22 15:05:23 +02:00
sha512module.c Issue #18742: Expose the internal hash type object for ABCs. 2013-10-22 15:05:23 +02:00
signalmodule.c Issue #18774: Remove last bits of GNU PTH thread code, patch by Vajrasky Kok. 2013-08-18 12:43:24 +02:00
socketmodule.c Fix sock_recvfrom_guts(): recvfrom() size is limited to an int on Windows, not 2013-11-16 00:18:58 +01:00
socketmodule.h Issue #15359: Add CAN_BCM protocol support to the socket module. Patch by Brian 2013-02-05 19:42:01 +01:00
spwdmodule.c #18678: Correct names of spwd struct members. 2013-11-03 19:54:05 -05:00
sre.h Issue #16203: Add re.fullmatch() function and regex.fullmatch() method, 2013-11-23 23:20:30 +02:00
sre_constants.h Issue #13592: Improved the repr for regular expression pattern objects. 2013-11-23 22:42:43 +02:00
sre_lib.h Issue #16203: Add re.fullmatch() function and regex.fullmatch() method, 2013-11-23 23:20:30 +02:00
symtablemodule.c merge 3.3 (#19393) 2013-10-26 13:22:08 -04:00
syslogmodule.c Issue #19512, #19515: remove shared identifiers, move identifiers where they 2013-11-07 23:07:29 +01:00
termios.c Issue #11495: OSF support is eliminated. It was deprecated in Python 3.2 2011-03-14 17:36:54 +01:00
testcapi_long.h Issue #9530: Fix undefined behaviour due to signed overflow in testcapi_long.h. 2011-11-19 17:58:15 +00:00
timemodule.c Issue #19634: time.strftime("%y") now raises a ValueError on Solaris when given 2013-11-23 14:59:33 +01:00
tkappinit.c Avoid main_window unused compiler warning. 2012-03-13 23:21:53 -07:00
tkinter.h
unicodedata.c Issue #19674: inspect.signature() now produces a correct signature 2013-11-23 15:37:55 -08:00
unicodedata_db.h upgrade unicode db to 6.3.0 (closes #19221) 2013-10-10 17:24:45 -04:00
unicodename_db.h upgrade unicode db to 6.3.0 (closes #19221) 2013-10-10 17:24:45 -04:00
xxlimited.c Replace Py_NotImplemented returns with the macro form Py_RETURN_NOTIMPLEMENTED. 2011-08-10 20:28:54 -05:00
xxmodule.c Make indentation consistent 2013-01-01 07:41:51 -08:00
xxsubtype.c
zipimport.c Issue #19515: Remove duplicated identifiers in zipimport.c 2013-11-12 21:44:18 +01:00
zlibmodule.c Issue #19674: inspect.signature() now produces a correct signature 2013-11-23 15:37:55 -08:00