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/issue34
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
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
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:
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/libc/io/open_2
Alexandre Vassalotti added the comment:
+1 from me as well for a separate file.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue20395
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 example
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:
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 tracker rep
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
nosy: -alexandre.vassalotti
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue6673
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
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
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
versions: +Python 2.7, Python 3.3
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue12290
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
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 rep...@bugs.python.org
http
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Added file: http://bugs.python.org/file32982/fix_bigmem_pickle_2.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19881
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Added file: http://bugs.python.org/file33001/fix_bigmem_pickle_3.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19881
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
resolution: - fixed
stage: patch review - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19881
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
versions
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 rep...@bugs.python.org
Alexandre Vassalotti added the comment:
Looks good to me!
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19900
___
___
Python-bugs-list mailing
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
resolution: - fixed
stage: - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18015
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
title: Error pickling a dict - Error pickling objects with mutating
__getstate__
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10701
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
nosy: +alexandre.vassalotti
stage: - patch review
type: - enhancement
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18400
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:
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 protocol 4
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:
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 - committed/rejected
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: - wont fix
stage
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 (though
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
___
Python tracker
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
assignee: - alexandre.vassalotti
priority: normal - high
stage: - needs patch
type: - behavior
versions: +Python 3.4
___
Python tracker rep...@bugs.python.org
http://bugs.python.org
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 -Python 3.3
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
nosy: -alexandre.vassalotti
stage: - needs patch
versions: +Python 3.5 -Python 3.0
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue3208
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: +Python 2.7 -Python 2.6
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 - closed
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.vassalotti
nosy
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 PEP
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
superseder: Implement PEP 3154 (pickle protocol 4) -
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4727
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
status: open
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
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
title: Multiprocessing module Pickling unPickling issues - Multiprocessing
module cannot call instance methods across processes
___
Python tracker rep...@bugs.python.org
http
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
___
Python tracker rep
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 rep...@bugs.python.org
http
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:
Feel free to commit once you have addressed the remaining comments.
--
assignee: - doerwalter
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19834
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
assignee: - alexandre.vassalotti
resolution: - fixed
stage: - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue18073
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
nosy: -alexandre.vassalotti
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19835
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
Removed message: http://bugs.python.org/msg204785
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19726
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
assignee: - alexandre.vassalotti
resolution: - fixed
stage: needs patch - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19088
Alexandre Vassalotti added the comment:
I have reviewed the patch in the review tool. Please take a look!
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue19834
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
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, Python 3.3
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file26617/pickle_sizeof-2.7.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15513
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file26616/pickle_sizeof-3.2.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15513
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file26588/stringio_sizeof-2.7.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15490
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file26587/stringio_sizeof-3.2.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15490
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file26810/stringio_sizeof-3.3_2.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15490
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file26586/stringio_sizeof-3.3.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15490
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file26811/stringio_sizeof-3.2_2.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15490
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file26812/stringio_sizeof-2.7_2.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15490
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file27241/stringio_sizeof-3.2_3.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15490
Alexandre Vassalotti added the comment:
Looks good to me! Feel free to commit.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17897
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
assignee: - alexandre.vassalotti
resolution: - fixed
stage: - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue16231
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
priority: low - normal
stage: needs patch - patch review
versions: +Python 3.5 -Python 2.7, Python 3.2
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue5885
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
priority: normal - low
versions: +Python 3.5 -Python 3.2
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue2281
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
priority: normal - low
versions: +Python 3.5 -Python 3.2
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue2281
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
priority: normal - low
versions: +Python 3.5 -Python 3.2
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue2281
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
___
Python tracker rep
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
assignee: docs@python - alexandre.vassalotti
resolution: - fixed
stage: needs patch - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org
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 anyway
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.2, Python 3.3, Python
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 built
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.701303: 1.76x
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
assignee: - alexandre.vassalotti
resolution: - fixed
stage: commit review - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
assignee: - alexandre.vassalotti
resolution: - duplicate
stage: patch review - committed/rejected
status: open - closed
superseder: - Implement PEP 3154 (pickle protocol 4)
versions: +Python 3.4 -Python 3.3
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
assignee: - alexandre.vassalotti
resolution: - duplicate
stage: patch review - committed/rejected
status: open - closed
superseder: - Implement PEP 3154 (pickle protocol 4)
___
Python
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', 'rb', buffering=0) as f
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 rep...@bugs.python.org
http
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 - closed
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 rep...@bugs.python.org
http://bugs.python.org/issue17787
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
resolution: - wont fix
stage: needs patch - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17747
Changes by Alexandre Vassalotti alexan...@peadrop.com:
--
resolution: - duplicate
status: open - closed
superseder: - Implement PEP 3154 (pickle protocol 4)
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue15397
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 - closed
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 almost every
Alexandre Vassalotti added the comment:
Merged with issue #17810
--
resolution: - duplicate
status: open - closed
superseder: - Implement PEP 3154 (pickle protocol 4)
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17893
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Added file: http://bugs.python.org/file32639/f87b455af573.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17810
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Added file: http://bugs.python.org/file32640/8434af450da0.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17810
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file32639/f87b455af573.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17810
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
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.locals.C.D'
--
status: closed - open
___
Python
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.locals.C'
It would be much more useful to return 'C' in this case
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 function's scope
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 the future
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 rep...@bugs.python.org
http://bugs.python.org/issue17900
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
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
feature, we
Changes by Alexandre Vassalotti alexan...@peadrop.com:
Removed file: http://bugs.python.org/file30229/pickle4+methods.patch
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17810
1 - 100 of 579 matches
Mail list logo