Change by Alexandre Vassalotti :
--
stage: patch review -> resolved
status: open -> closed
___
Python tracker
<https://bugs.python.org/issue27635>
___
___
Change by Alexandre Vassalotti :
--
assignee: -> alexandre.vassalotti
resolution: -> fixed
stage: patch review -> resolved
status: open -> closed
versions: -Python 3.7, Python 3.8
___
Python tracker
<https://bugs.python
Alexandre Vassalotti added the comment:
PR 9841 looks good to me. I wouldn't worry about the performance hit.
--
___
Python tracker
<https://bugs.python.org/is
Alexandre Vassalotti added the comment:
I don't recall where I picked up the referred spec. Looking at PEP 307 and
pickle docs [1], it does look like that objects which provides the listitems
field of the reduce tuple should support extend() too.
It might best to try both i
Alexandre Vassalotti added the comment:
The repr for floats was changed some time ago to use a shorter decimal strings
when possible. Both representations should yield the same float value once
decoded. If we want to make the C and Python implementations of pickle
consistent, then we should
Alexandre Vassalotti added the comment:
> What is the current behaviour?
I don't think the behaviour is defined. At least, I know it causes recent
GCC/glibc combination to throw a compilation error when _FORTIFY_SOURCE is
defined:
http://www.eglibc.org/cgi-bin/viewvc.cgi/trunk
New submission from Alexandre Vassalotti:
The _Py_open function in Python/fileutils.c cannot be given correctly the flag
O_CREAT. According to the POSIX spec, open(2) _must_ be given an additional
mode argument when O_CREAT is used.
_Py_open should be fixed to either to use a reasonable
Alexandre Vassalotti added the comment:
+1 from me as well for a separate file.
--
___
Python tracker
<http://bugs.python.org/issue20395>
___
___
Python-bug
Alexandre Vassalotti added the comment:
The patch is good. I am not sure if you need the freefunc cast though.
The example in the PEP 3121 should updated if freefunc is actually required. I
didn't define freefunc because of this ex
Alexandre Vassalotti added the comment:
The issue here is copy.deepcopy will raise an exception whenever it encounters
a generator. We would like to do better here. Unfortunately, using
itertools.tee is not a solution here because it does not preserve the type of
the object
Alexandre Vassalotti added the comment:
Adding a special type is not a bad idea. We have to keep the code for loading
BINSTRING opcodes anyway, so we might as well use it. It could be helpful for
unit-testing our Python 2 compatibility support for pickle.
We should still fix array in 2.7 to
Changes by Alexandre Vassalotti :
--
versions: +Python 2.7, Python 3.3
___
Python tracker
<http://bugs.python.org/issue12290>
___
___
Python-bugs-list mailin
Changes by Alexandre Vassalotti :
--
assignee: -> docs@python
components: +Documentation -Library (Lib)
nosy: +docs@python
stage: -> patch review
versions: +Python 3.4 -Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python
3.3
___
Python t
Changes by Alexandre Vassalotti :
--
nosy: -alexandre.vassalotti
___
Python tracker
<http://bugs.python.org/issue6673>
___
___
Python-bugs-list mailing list
Unsub
Alexandre Vassalotti added the comment:
I fixed up the last few review comments and submitted the patch. Thank you for
the help!
--
resolution: -> fixed
stage: patch review -> committed/rejected
status: open -> closed
___
Python track
Alexandre Vassalotti added the comment:
I cleaned up the patch. I will submit it tonight if there is no major
objections.
--
Added file: http://bugs.python.org/file33019/pickle_python2_str_as_bytes.diff
___
Python tracker
<http://bugs.python.
Changes by Alexandre Vassalotti :
--
nosy: +alexandre.vassalotti
stage: -> patch review
type: -> enhancement
___
Python tracker
<http://bugs.python.org/i
Changes by Alexandre Vassalotti :
--
title: Error pickling a dict -> Error pickling objects with mutating
__getstate__
___
Python tracker
<http://bugs.python.org/issu
Changes by Alexandre Vassalotti :
--
resolution: -> fixed
stage: -> committed/rejected
status: open -> closed
___
Python tracker
<http://bugs.python.or
Alexandre Vassalotti added the comment:
Looks good to me!
--
___
Python tracker
<http://bugs.python.org/issue19900>
___
___
Python-bugs-list mailing list
Unsub
Alexandre Vassalotti added the comment:
Ah, I almost forgot! I did implement the verification in pickletools.dis() for
MEMOIZE:
http://hg.python.org/cpython/file/2612ea573ff7/Lib/pickletools.py#l2420
--
___
Python tracker
<http://bugs.python.
Alexandre Vassalotti added the comment:
Could you provide a single patch with the implementation and the tests
together? I will try to find some time this week to review this.
--
assignee: docs@python -> alexandre.vassalotti
priority: normal -> high
stage: -> patch review
Changes by Alexandre Vassalotti :
--
resolution: -> fixed
stage: patch review -> committed/rejected
status: open -> closed
___
Python tracker
<http://bugs.python.or
Changes by Alexandre Vassalotti :
Added file: http://bugs.python.org/file33001/fix_bigmem_pickle_3.patch
___
Python tracker
<http://bugs.python.org/issue19881>
___
___
Changes by Alexandre Vassalotti :
Added file: http://bugs.python.org/file32982/fix_bigmem_pickle_2.patch
___
Python tracker
<http://bugs.python.org/issue19881>
___
___
New submission from Alexandre Vassalotti:
The bigmem tests for pickle are currently failing for protocol 4. The tests are
broken because of an assumption rendered invalid by the frame header. Fixing
the tests caught a legitimate bug in the save_bytes function of cpickle.
--
assignee
Alexandre Vassalotti added the comment:
MEMOIZE and PUT can be used together. They just need to not step on each other
toes when they write to the memo table. As specified by PEP 3154, the memo
index used by MEMOIZE is the number of elements currently in the memo table.
This obviously means
Alexandre Vassalotti added the comment:
Well, that can only happen if MEMOIZE and PUT are both used together, which
won't happen with the Pickler classes we support. The easiest thing to do here
is to disable pickletools.optimize on proto
Changes by Alexandre Vassalotti :
--
nosy: -alexandre.vassalotti
___
Python tracker
<http://bugs.python.org/issue19835>
___
___
Python-bugs-list mailin
Changes by Alexandre Vassalotti :
--
assignee: -> alexandre.vassalotti
resolution: -> fixed
stage: -> committed/rejected
status: open -> closed
___
Python tracker
<http://bugs.python
Alexandre Vassalotti added the comment:
Feel free to commit once you have addressed the remaining comments.
--
assignee: -> doerwalter
___
Python tracker
<http://bugs.python.org/issu
New submission from Alexandre Vassalotti:
PEP 3154 introduced the MEMOIZE opcode which lowered the overhead of
memoization compared to the PUT opcodes which were previously used.
We should update pickletools.optimize to remove superfluous uses of this new
opcode.
--
components
Alexandre Vassalotti added the comment:
Yeah, let's close this. It is much simpler to just double the frame size target
if the extra reads ever become a performance issue.
--
status: pending -> closed
___
Python tracker
<http://bugs
Alexandre Vassalotti added the comment:
Now, pickletools.optimize doesn't do anything on protocol 4. :)
--
assignee: -> alexandre.vassalotti
resolution: -> fixed
stage: -> committed/rejected
status: open -> closed
___
Pyth
Changes by Alexandre Vassalotti :
--
title: Multiprocessing module Pickling unPickling issues -> Multiprocessing
module cannot call instance methods across processes
___
Python tracker
<http://bugs.python.org/issu
Alexandre Vassalotti added the comment:
Look like I isolated the problem. It seems multiprocessing is using cPickle
which cannot be extended with ForkingPickler, unlike the Python version of the
pickle module.
15:09:29 [ ~/pythondev/python2.7 ]$ ./python.exe issue10717.py
Traceback (most
Alexandre Vassalotti added the comment:
Without a reproducible test case, I am afraid there is nothing we can do here.
--
assignee: -> alexandre.vassalotti
components: +Library (Lib) -None
nosy: +alexandre.vassalotti
resolution: -> works for me
stage: -> test needed
sta
Changes by Alexandre Vassalotti :
--
superseder: Implement PEP 3154 (pickle protocol 4) ->
___
Python tracker
<http://bugs.python.org/issue4727>
___
___
Py
Alexandre Vassalotti added the comment:
PEP 3154 implemented support for pickling classes taking keyword-only arguments.
The copy module should be updated to use __getnewargs_ex__ when available
through object.__reduce__(4).
--
nosy: +alexandre.vassalotti
superseder: -> Implement
Alexandre Vassalotti added the comment:
I have implemented PEP 3121 module finalization for _pickle in 64c6d52793be. I
don't see the use case for implementing PEP 384 stable ABI, since _pickle is
only distributed with Python.
--
assignee: -> alexandre.vassalo
Alexandre Vassalotti added the comment:
I have implemented PEP 3121 module finalization for _pickle in 64c6d52793be.
--
assignee: -> alexandre.vassalotti
nosy: +alexandre.vassalotti
resolution: -> fixed
stage: needs patch -> committed/rejected
status: open
Alexandre Vassalotti added the comment:
We can't fix this without a working test case. Feel free to re-open if you find
one.
--
assignee: docs@python -> alexandre.vassalotti
components: -Documentation
resolution: -> works for me
status: open -> closed
versions: +Pyth
Changes by Alexandre Vassalotti :
--
nosy: -alexandre.vassalotti
stage: -> needs patch
versions: +Python 3.5 -Python 3.0
___
Python tracker
<http://bugs.python.org/iss
Alexandre Vassalotti added the comment:
Allowing generators to be deepcopied via their code object should be fine.
--
stage: test needed -> needs patch
title: Allow deepcopying and pickling paused generators -> Allow deepcopying
paused generators
versions: +Python 3.5 -Pyth
Changes by Alexandre Vassalotti :
--
assignee: -> alexandre.vassalotti
priority: normal -> high
stage: -> needs patch
type: -> behavior
versions: +Python 3.4
___
Python tracker
<http://bugs.python
Alexandre Vassalotti added the comment:
Thank you for the patch!
--
assignee: -> alexandre.vassalotti
resolution: -> fixed
stage: patch review -> committed/rejected
status: open -> closed
versions: +Python 3.4 -Python 3.1, Python 3.2
__
Alexandre Vassalotti added the comment:
I agree that there is a maintenance cost associated with C extension modules.
However, I would certainly be glad if it allowed us to eliminate uses of ctypes
in this module because ctypes is quite unsafe and doesn't work well across
platforms (thou
Alexandre Vassalotti added the comment:
This was fixed in 3.4 with the introduction of method pickling. I don't think
it would be appropriate to backport this to 2.7. Thus, I am closing this as a
won't fix for 2.x.
--
assignee: -> alexandre.vassalotti
resolution: ->
Alexandre Vassalotti added the comment:
I thought it over. I don't think the fix is appropriate for 2.x, as it seems
closer to being an extra feature than a bug fix.
Thanks Antoine for calling me out on this one.
--
resolution: -> wont fix
stage: patch review -> committ
Alexandre Vassalotti added the comment:
Antoine, are you okay with applying this fix to 2.7? Or should we just mark
this as a won't fix?
--
keywords: +patch
priority: low -> normal
resolution: fixed ->
stage: committed/rejected -> patch review
versions: -Python 3
Alexandre Vassalotti added the comment:
Would you be okay with removing the static declaration of PyNotImplemented_Type
and PyNone_Type if we prefix their name with an underscore? There isn't any
other way to fix this without making the types linkable.
I might revert the 2.7 change anyw
Changes by Alexandre Vassalotti :
--
assignee: docs@python -> alexandre.vassalotti
resolution: -> fixed
stage: needs patch -> committed/rejected
status: open -> closed
___
Python tracker
<http://bugs.pytho
Alexandre Vassalotti added the comment:
With PEP 393 implemented, there doesn't seem to anything left to be done here.
Closing as fixed.
--
resolution: -> fixed
stage: needs patch -> committed/rejected
status: open -> closed
___
Changes by Alexandre Vassalotti :
--
priority: normal -> low
versions: +Python 3.5 -Python 3.2
___
Python tracker
<http://bugs.python.org/issue2281>
___
___
Py
Changes by Alexandre Vassalotti :
--
priority: normal -> low
versions: +Python 3.5 -Python 3.2
___
Python tracker
<http://bugs.python.org/issue2281>
___
___
Py
Changes by Alexandre Vassalotti :
--
priority: normal -> low
versions: +Python 3.5 -Python 3.2
___
Python tracker
<http://bugs.python.org/issue2281>
___
___
Py
Changes by Alexandre Vassalotti :
--
priority: low -> normal
stage: needs patch -> patch review
versions: +Python 3.5 -Python 2.7, Python 3.2
___
Python tracker
<http://bugs.python.org/
Changes by Alexandre Vassalotti :
--
assignee: -> alexandre.vassalotti
resolution: -> fixed
stage: -> committed/rejected
status: open -> closed
___
Python tracker
<http://bugs.python
Alexandre Vassalotti added the comment:
Looks good to me! Feel free to commit.
--
___
Python tracker
<http://bugs.python.org/issue17897>
___
___
Python-bugs-list m
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file27241/stringio_sizeof-3.2_3.patch
___
Python tracker
<http://bugs.python.org/issue15
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file26812/stringio_sizeof-2.7_2.patch
___
Python tracker
<http://bugs.python.org/issue15
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file26810/stringio_sizeof-3.3_2.patch
___
Python tracker
<http://bugs.python.org/issue15
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file26586/stringio_sizeof-3.3.patch
___
Python tracker
<http://bugs.python.org/issue15490>
___
___
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file26811/stringio_sizeof-3.2_2.patch
___
Python tracker
<http://bugs.python.org/issue15
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file26587/stringio_sizeof-3.2.patch
___
Python tracker
<http://bugs.python.org/issue15490>
___
___
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file26588/stringio_sizeof-2.7.patch
___
Python tracker
<http://bugs.python.org/issue15490>
___
___
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file26616/pickle_sizeof-3.2.patch
___
Python tracker
<http://bugs.python.org/issue15513>
___
___
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file26617/pickle_sizeof-2.7.patch
___
Python tracker
<http://bugs.python.org/issue15513>
___
___
Changes by Alexandre Vassalotti :
--
assignee: -> docs@python
components: +Documentation -Interpreter Core
keywords: -64bit
nosy: +docs@python
stage: -> needs patch
type: resource usage -> enhancement
versions: +Python 3.4, Python 3.5 -Python 3.2, P
Alexandre Vassalotti added the comment:
I have reviewed the patch in the review tool. Please take a look!
--
___
Python tracker
<http://bugs.python.org/issue19
Changes by Alexandre Vassalotti :
--
assignee: -> alexandre.vassalotti
resolution: -> fixed
stage: needs patch -> committed/rejected
status: open -> closed
___
Python tracker
<http://bugs.python
Changes by Alexandre Vassalotti :
--
Removed message: http://bugs.python.org/msg204785
___
Python tracker
<http://bugs.python.org/issue19726>
___
___
Python-bug
Changes by Alexandre Vassalotti :
--
assignee: -> alexandre.vassalotti
resolution: -> duplicate
stage: patch review -> committed/rejected
status: open -> closed
superseder: -> Implement PEP 3154 (pickle protocol 4)
___
Python
Changes by Alexandre Vassalotti :
--
assignee: -> alexandre.vassalotti
resolution: -> duplicate
stage: patch review -> committed/rejected
status: open -> closed
superseder: -> Implement PEP 3154 (pickle protocol 4)
versions: +Python
Changes by Alexandre Vassalotti :
--
assignee: -> alexandre.vassalotti
resolution: -> fixed
stage: commit review -> committed/rejected
status: open -> closed
___
Python tracker
<http://bugs.pytho
Alexandre Vassalotti added the comment:
> Test data are too small, they all less than frame size.
Ah, good point! It seems your patch helps when the reads are *very* slow and
buffering is disabled.
### unpickle_file ###
Min: 1.125320 -> 0.663367: 1.70x faster
Avg: 1.237206 -> 0.7013
Alexandre Vassalotti added the comment:
As part of the implementation of PEP 3154 (Pickle protocol 4), I've introduced
support for pickling methods for all pickle protocols (and not just for the new
protocol 4). This was implemented by adding the appropriate __reduce__ method
on bui
Alexandre Vassalotti added the comment:
Serhiy, I am not able to reproduce your results. I don't get any significant
performance improvements with your patch.
22:34:03 [ ~/PythonDev/cpython-baseline ]$ ./python.exe -m timeit "import
pickle" "with open('test.pickle4&
Alexandre Vassalotti added the comment:
Thanks Zachary for the notice! Look like my change fixed the warnings on the
Windows x86 build.
http://buildbot.python.org/all/builders/x86%20Windows%20Server%202008%20%5BSB%5D%203.x/builds/1801
--
resolution: -> fixed
status: open ->
Alexandre Vassalotti added the comment:
Optimizing the output of the pickler class should be fine during the feature
freeze as long the semantics of the current opcodes stay unchanged.
--
___
Python tracker
<http://bugs.python.org/issue17
Changes by Alexandre Vassalotti :
--
resolution: -> wont fix
stage: needs patch -> committed/rejected
status: open -> closed
___
Python tracker
<http://bugs.python.or
Alexandre Vassalotti added the comment:
The patch is too complicated for too little.
--
resolution: -> rejected
stage: patch review -> committed/rejected
status: open -> closed
___
Python tracker
<http://bugs.python.or
Alexandre Vassalotti added the comment:
I've finalized the framing implementation in de9bda43d552.
There will be more improvements to come until 3.4 final. However, feature-wise
we are done. Thank you everyone for the help!
--
status: open ->
Changes by Alexandre Vassalotti :
--
resolution: -> duplicate
status: open -> closed
superseder: -> Implement PEP 3154 (pickle protocol 4)
___
Python tracker
<http://bugs.python.or
Alexandre Vassalotti added the comment:
I have been looking again at Stefan's previous proposal of making memoization
implicit in the new pickle protocol. While I liked the smaller pickles it
produced, I didn't the invasiveness of the implementation, which requires a
change for al
Alexandre Vassalotti added the comment:
Merged with issue #17810
--
resolution: -> duplicate
status: open -> closed
superseder: -> Implement PEP 3154 (pickle protocol 4)
___
Python tracker
<http://bugs.python.or
Alexandre Vassalotti added the comment:
Hi folks,
I consider my implementation of PEP-3154 mostly feature complete at this point.
I still have a few things left to do. For example, I need to update the
documentation about the new protocol. However, these can mostly be done along
the review
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file32639/f87b455af573.diff
___
Python tracker
<http://bugs.python.org/issue17810>
___
___
Pytho
Changes by Alexandre Vassalotti :
Added file: http://bugs.python.org/file32640/8434af450da0.diff
___
Python tracker
<http://bugs.python.org/issue17810>
___
___
Python-bug
Changes by Alexandre Vassalotti :
Added file: http://bugs.python.org/file32639/f87b455af573.diff
___
Python tracker
<http://bugs.python.org/issue17810>
___
___
Python-bug
Alexandre Vassalotti added the comment:
It seems that we are missing support for nested globals:
>>> def f():
... global C
... class C:
... class D:
... pass
...
>>> f()
>>> C.D.__qualname__
'f..C.D
Alexandre Vassalotti added the comment:
Supporting nonlocal variables would be nice. However, unless it is easy to
implement, I don't think it is worth the effort since these variables can't be
accessed outside the enclosing functi
New submission from Alexandre Vassalotti:
The value of __qualname__ for globals declared in function scope doesn't seems
right to me:
>>> def f():
...global C
...class C: pass
...return C.__qualname__
...
>>> f()
'f..C'
It would be much more usef
Alexandre Vassalotti added the comment:
Let's close this. There is no point keeping this languishing any further.
The profile and cProfile modules are different enough that we can't merge them
without breaking compatibility. They should treated as two separate profilers.
Maybe in
Alexandre Vassalotti added the comment:
I am still working on it. I am implemented support for nested globals last week
(http://hg.python.org/features/pep-3154-alexandre/rev/c8991b32a47e). At this
point, the only big piece remaining is the support for method descriptors.
There are other minor
Alexandre Vassalotti added the comment:
Stefan, could you address my review comments soon? The improved support for
globals is the only big piece missing from the implementation of PEP, which I
would like to get done and submitted by the end of the month
Alexandre Vassalotti added the comment:
The patch looks good to me. So go ahead and submit it. :)
--
___
Python tracker
<http://bugs.python.org/issue17
Alexandre Vassalotti added the comment:
Stefan, I took a quick look at your patch. There is a couple things that stands
out.
First, I think the implementation of BINGLOBAL and BINGLOBAL_BIG should be
moved to another patch. Adding a binary version opcode for GLOBAL is a separate
feature and
Changes by Alexandre Vassalotti :
Removed file: http://bugs.python.org/file30229/pickle4+methods.patch
___
Python tracker
<http://bugs.python.org/issue17810>
___
___
Pytho
Alexandre Vassalotti added the comment:
Thanks Stefan for the patch. It's very much appreciated. I will try to review
it soon.
Of the features you proposed, the twos I would like to take a look again is
implicit memoization and the BAIL_OUT opcode. For the implicit memoization
featur
1 - 100 of 602 matches
Mail list logo