You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee='https://github.com/avassalotti'closed_at=<Date2008-06-13.02:50:24.552>created_at=<Date2008-05-19.19:59:20.993>labels= ['type-bug', 'library']
title='merge pickle and cPickle in 3.0'updated_at=<Date2008-06-13.02:50:24.551>user='https://github.com/brettcannon'
Here is the fully reviewed and shiny C optimized pickle module. :-)
Note, I am only posting the _pickle.c source code for now. I still need
to work out a few details out. For example, there is a few methods that
needs to be exposed in the public API -- i.e., Unpickler.find_class()
and Pickler.save_reduce(). Also, instantiate() needs to reworked to
match the one in pickle.py. Anyway, I am now pretty confident that I
will have the time to finalize these details before the beta.
Here is a diff against the previously posted _pickle.c module. The
module is pretty much done now. I fixed find_class() to be a proper
method and move the initialization code of Pickler/Unpickler into the
tp_init slot to allow proper subclassing.
The only things I didn't do is make save_reduce() public (since it would
be useless) and fix instantiate() to be exactly the same as in pickle.py
(since I have no idea how to cleanly inject a __class__ attribute into a
pre-build empty class from C).
With the beta postponed, I will probably add some optimizations to the
module and update the stdlib documentation.
Here is the full patch that adds the _pickle module. I would like to
commit it as soon another developer tests it and (hopefully) reviews it.
A documentation patch is coming as well. However since I don't want to
block the release just for documentation patch, I will post it as a
separate issue.
Activity
brettcannon commentedon May 19, 2008
cPickle should be gone in 3.0 and pickle should have an accelerated
version behind it, when available.
Alexandre has been working on this (might even be checked in), so
assigning to him to help track for PEP-3108 work.
avassalotti commentedon Jun 2, 2008
Here is the fully reviewed and shiny C optimized pickle module. :-)
Note, I am only posting the _pickle.c source code for now. I still need
to work out a few details out. For example, there is a few methods that
needs to be exposed in the public API -- i.e., Unpickler.find_class()
and Pickler.save_reduce(). Also, instantiate() needs to reworked to
match the one in pickle.py. Anyway, I am now pretty confident that I
will have the time to finalize these details before the beta.
avassalotti commentedon Jun 4, 2008
Here is a diff against the previously posted _pickle.c module. The
module is pretty much done now. I fixed find_class() to be a proper
method and move the initialization code of Pickler/Unpickler into the
tp_init slot to allow proper subclassing.
The only things I didn't do is make save_reduce() public (since it would
be useless) and fix instantiate() to be exactly the same as in pickle.py
(since I have no idea how to cleanly inject a __class__ attribute into a
pre-build empty class from C).
With the beta postponed, I will probably add some optimizations to the
module and update the stdlib documentation.
avassalotti commentedon Jun 10, 2008
Here is the full patch that adds the _pickle module. I would like to
commit it as soon another developer tests it and (hopefully) reviews it.
A documentation patch is coming as well. However since I don't want to
block the release just for documentation patch, I will post it as a
separate issue.
avassalotti commentedon Jun 11, 2008
I updated the patch to use the new module framework.
avassalotti commentedon Jun 11, 2008
Committed in r64152.
benjaminp commentedon Jun 12, 2008
I'm sorry. I had to revert this.
avassalotti commentedon Jun 12, 2008
Okay, I fixed _pickle's integers unpickling on 64bit platforms. Here is
the patch.
avassalotti commentedon Jun 13, 2008
Restored _pickle in r64180.