| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
(GH-113436) (GH-113449)
This fixes a divergence between the Python and C implementations of pickle
for protocol 0, such that it pickle.py fails to re-use the first pickled
representation of strings involving characters that have to be escaped.
(cherry picked from commit 08398631a0298dcf785ee7bd0e26c7844823ce59)
Co-authored-by: Jeff Allen <ja.py@farowl.co.uk>
|
|
|
|
|
|
|
| |
(GH-112592)
(cherry picked from commit 058444308abee79bb1b3358883adfa8c97bd043a)
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
|
|
|
|
|
|
|
| |
(GH-108421) (GH-108799)
Only mark tests which spend significant system or user time,
by itself or in subprocesses.
(cherry picked from commit f3ba0a74cd50274acdcd592d4ce8395b92492b7c)
|
|
|
|
|
| |
(cherry picked from commit b98d2d31bffcaeb0c4c8848a8d1b35419c70b2da)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
|
|
|
|
|
|
| |
descriptors (GH-96383)
(cherry picked from commit 77f0249308de76401bf4f3c6a057789c92f862d1)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
|
|
|
|
| |
(cherry picked from commit 4c496f1f115a7910d4606b4de233d14874c77bfa)
Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
|
|
|
| |
Co-authored-by: Brett Cannon <brett@python.org>
|
|
|
|
|
|
|
| |
Copying and pickling instances of subclasses of builtin types
bytearray, set, frozenset, collections.OrderedDict, collections.deque,
weakref.WeakSet, and datetime.tzinfo now copies and pickles instance attributes
implemented as slots.
|
|
|
|
|
|
|
| |
in tests (GH-29258)
* Don't stackoveflow on debug builds
* Also catch the pickletester case
|
|
|
|
|
| |
Fix typos in the Lib directory as identified by codespell.
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
|
| |
|
|
|
|
| |
(GH-25501)
|
| |
|
|
|
|
| |
(GH-22870)
|
|
|
| |
Automerge-Triggered-By: @tiran
|
| |
|
|
|
|
|
|
|
|
| |
Fix test_copyreg when numpy is installed: test.pickletester now
saves/restores warnings.filters when importing numpy, to ignore
filters installed by numpy.
Add the save_restore_warnings_filters() function to the
test.support.warnings_helper module.
|
| |
|
|
|
|
| |
Fix a regression where the C pickle module wouldn't allow unpickling from a
file-like object that doesn't expose a readinto() method.
|
|
|
|
|
|
|
|
|
|
|
|
| |
instance (GH-18266)
This also needs a backport to 3.8
https://bugs.python.org/issue39492
Automerge-Triggered-By: @pitrou
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
invalid input (GH-17335)
The previous code was raising a `KeyError` for both the Python and C implementation.
This was caused by the specified index of an invalid input which did not exist
in the memo structure, where the pickle stores what objects it has seen.
The malformed input would have caused either a `BINGET` or `LONG_BINGET` load
from the memo, leading to a `KeyError` as the determined index was bogus.
https://bugs.python.org/issue38876
https://bugs.python.org/issue38876
|
|
|
|
| |
This looks like the only place that proto 4 framing gets exercised
so leave it as part of the PGO task.
|
|
|
|
|
| |
Mark some individual tests to skip when --pgo is used. The tests
marked increase the PGO task time significantly and likely don't
help improve optimization of the final executable.
|
|
|
|
| |
correctly (GH-14593)
|
|
|
|
|
|
| |
(GH-11859)
Escape ``\r``, ``\0`` and ``\x1a`` (end-of-file on Windows) in Unicode strings.
|
| |
|
|
|
|
| |
Enable custom reduction callback registration for functions and classes in
_pickle.c, using the new Pickler's attribute ``reducer_override``.
|
|
|
|
|
| |
Allow reduction methods to return a 6-item tuple where the 6th item specifies a
custom state-setting method that's called instead of the regular
``__setstate__`` method.
|
| |
|
| |
|
|
|
|
|
| |
from sys.modules (GH-9047)
Fix C implementation of pickle.loads to use importlib's locking mechanisms, and thereby avoid using partially-loaded modules.
|
|
|
|
| |
pickle.Pickler.dump(). (GH-6363)
|
| |
|
|
|
|
|
|
| |
PyMemoryView_FromMemory() created a memoryview referring to
the internal data of the string. When the string is destroyed
the memoryview become referring to a freed memory.
|
|
|
|
|
|
|
| |
when serialize into memory buffer with C pickle implementations.
This optimization already is performed when serialize into memory
with Python pickle implementations or into a file with both
implementations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The picklers do no longer allocate temporary memory when dumping large
bytes and str objects into a file object. Instead the data is
directly streamed into the underlying file object.
Previously the C implementation would buffer all content and issue a
single call to file.write() at the end of the dump. With protocol 4
this behavior has changed to issue one call to file.write() per frame.
The Python pickler with protocol 4 now dumps each frame content as a
memoryview to an IOBytes instance that is never reused and the
memoryview is no longer released after the call to write. This makes it
possible for the file object to delay access to the memoryview of
previous frames without forcing any additional memory copy as was
already possible with the C pickler.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
kB (*kilo* byte) unit means 1000 bytes, whereas KiB ("kibibyte")
means 1024 bytes. KB was misused: replace kB or KB with KiB when
appropriate.
Same change for MB and GB which become MiB and GiB.
Change the output of Tools/iobench/iobench.py.
Round also the size of the documentation from 5.5 MB to 5 MiB.
|
|\
| |
| |
| | |
Original patch by Alexandre Vassalotti.
|
| |
| |
| |
| | |
Original patch by Alexandre Vassalotti.
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/ |
|
| | |
|
| | |
|
|\ \
| |/
| |
| | |
Output raised exception at verbose level 2 (-vv).
|
| |\
| | |
| | |
| | | |
Output raised exception at verbose level 2 (-vv).
|
| | |
| | |
| | |
| | | |
Output raised exception at verbose level 2 (-vv).
|
|\ \ \
| |/ / |
|