[issue9935] Faster pickling of instances

2011-03-11 Thread Antoine Pitrou
Changes by Antoine Pitrou : -- resolution: -> fixed stage: patch review -> committed/rejected status: open -> closed ___ Python tracker ___ __

[issue9935] Faster pickling of instances

2011-03-11 Thread Roundup Robot
Roundup Robot added the comment: New changeset ff0220c9d213 by Antoine Pitrou in branch 'default': Issue #9935: Speed up pickling of instances of user-defined classes. http://hg.python.org/cpython/rev/ff0220c9d213 -- nosy: +python-dev ___ Python trac

[issue9935] Faster pickling of instances

2010-10-25 Thread Jesse Noller
Jesse Noller added the comment: On Mon, Oct 25, 2010 at 10:17 AM, Antoine Pitrou wrote: > Well, I'm not asking anyone to rewrite the entire multiprocessing test suite; > and, besides, I've provided a patch myself to improve it in that respect ;) > (in issue10173) I just saw that one - I'll

[issue9935] Faster pickling of instances

2010-10-25 Thread Antoine Pitrou
Antoine Pitrou added the comment: > I doubt I, or Ask will have the time to rewrite the entire > multiprocessing test suite right now to work around the change > Antoine. Well, I'm not asking anyone to rewrite the entire multiprocessing test suite; and, besides, I've provided a patch myself to

[issue9935] Faster pickling of instances

2010-10-25 Thread Jesse Noller
Jesse Noller added the comment: I doubt I, or Ask will have the time to rewrite the entire multiprocessing test suite right now to work around the change Antoine. -- ___ Python tracker

[issue9935] Faster pickling of instances

2010-10-22 Thread Antoine Pitrou
Antoine Pitrou added the comment: The difference has to do with the result of __reduce__: With the patch: >>> open("LICENSE").__reduce_ex__(3) (, (,), {'mode': 'r'}, None, None) Without: >>> open("LICENSE").__reduce_ex__(3) (, (,), None, None, None) -- ___

[issue9935] Faster pickling of instances

2010-10-22 Thread Antoine Pitrou
Antoine Pitrou added the comment: The commit broke the Windows buildbots because (un)pickling a TextIOWrapper now raises an exception: >>> f = open("LICENSE") >>> pickle.dumps(f) b'\x80\x03c_io\nTextIOWrapper\nq\x00)\x81q\x01}q\x02X\x04\x00\x00\x00modeq\x03X\x01\x00\x00\x00rq\x04sb.' >>> g = p

[issue9935] Faster pickling of instances

2010-10-22 Thread Antoine Pitrou
Antoine Pitrou added the comment: Committed in r85797. -- resolution: -> fixed stage: patch review -> committed/rejected status: open -> closed ___ Python tracker ___ __

[issue9935] Faster pickling of instances

2010-10-04 Thread Alexandre Vassalotti
Alexandre Vassalotti added the comment: Sorry Antoine, I have been busy with school work lately. I like the general idea and I will try to look at your patch ASAP. -- ___ Python tracker ___

[issue9935] Faster pickling of instances

2010-10-04 Thread Antoine Pitrou
Antoine Pitrou added the comment: Alexandre, do you have opinion on this? -- ___ Python tracker ___ ___ Python-bugs-list mailing list

[issue9935] Faster pickling of instances

2010-09-28 Thread Antoine Pitrou
Antoine Pitrou added the comment: Corrected patch, including new tests for pickling of weak proxies. -- Added file: http://bugs.python.org/file19044/pickleinst2.patch ___ Python tracker

[issue9935] Faster pickling of instances

2010-09-28 Thread Antoine Pitrou
Antoine Pitrou added the comment: My patch breaks pickling of transparent proxies such as weakref.proxy(). (since these have a different __class__ than Py_TYPE(self), through tp_getattr hackery). I will need to remove a couple of optimizations. (unfortunately, there don't seem to be any tests

[issue9935] Faster pickling of instances

2010-09-24 Thread Antoine Pitrou
Changes by Antoine Pitrou : -- nosy: +rhettinger ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.pyt

[issue9935] Faster pickling of instances

2010-09-23 Thread Antoine Pitrou
New submission from Antoine Pitrou : This is a bunch of assorted optimizations which make pickling of user-defined classes quite a bit faster. Example on a minimal instance: $ python -m timeit -s "import pickle; import collections, __main__; __main__.X=type('X', (), {}); x=X()" "pickle.dumps(