|
Original |
Translation |
|
2877
|
Unpickling now interns the attribute names of pickled objects. This saves memory and allows pickles to be smaller.
|
|
|
2878
|
(Contributed by Jake McGuire and Antoine Pitrou; :issue:`5084`.)
|
|
|
2879
|
|
|
|
2880
|
IDLE's format menu now provides an option to strip trailing whitespace from a source file.
|
|
|
2881
|
|
2882
|
Integers are now stored internally either in base 2**15 or in base 2**30, the base being determined at build time. Previously, they were always stored in base 2**15. Using base 2**30 gives significant performance improvements on 64-bit machines, but benchmark results on 32-bit machines have been mixed. Therefore, the default is to use base 2**30 on 64-bit machines and base 2**15 on 32-bit machines; on Unix, there's a new configure option ``--enable-big-digits`` that can be used to override this default.
|
|
|
2883
|
Apart from the performance improvements this change should be invisible to end users, with one exception: for testing and debugging purposes there's a new :attr:`sys.int_info` that provides information about the internal format, giving the number of bits per digit and the size in bytes of the C type used to store each digit::
|
|
|
2884
|
>>> import sys >>> sys.int_info sys.int_info(bits_per_digit=30, sizeof_digit=4)
|
|
|
2885
|
The :cfunc:`PyLong_AsUnsignedLongLong()` function now handles a negative *pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`.
|
|
|
2886
|
(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)
|
|