Staging
v0.5.1
https://github.com/python/cpython
Revision b6a2f2a0d1e32497ba1dbb12e4a16216ccb12913 authored by Alexandre Vassalotti on 24 November 2013, 04:30:03 UTC, committed by Alexandre Vassalotti on 24 November 2013, 04:30:03 UTC
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.
1 parent 1889623
History
Tip revision: b6a2f2a0d1e32497ba1dbb12e4a16216ccb12913 authored by Alexandre Vassalotti on 24 November 2013, 04:30:03 UTC
Make framing optional in pickle protocol 4.
Tip revision: b6a2f2a
File Mode Size
Doc
Grammar
Include
Lib
Mac
Misc
Modules
Objects
PC
PCbuild
Parser
Python
Tools
.bzrignore -rw-r--r-- 584 bytes
.gitignore -rw-r--r-- 960 bytes
.hgeol -rw-r--r-- 769 bytes
.hgignore -rw-r--r-- 1.3 KB
.hgtags -rw-r--r-- 5.9 KB
.hgtouch -rw-r--r-- 1.2 KB
LICENSE -rw-r--r-- 12.5 KB
Makefile.pre.in -rw-r--r-- 52.8 KB
README -rw-r--r-- 6.6 KB
config.guess -rwxr-xr-x 44.2 KB
config.sub -rwxr-xr-x 34.7 KB
configure -rwxr-xr-x 437.0 KB
configure.ac -rw-r--r-- 137.4 KB
install-sh -rwxr-xr-x 7.0 KB
pyconfig.h.in -rw-r--r-- 40.0 KB
setup.py -rw-r--r-- 94.6 KB

README

back to top