Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No new NEWS nits #61

Closed
wants to merge 143 commits into from
Closed

No new NEWS nits #61

wants to merge 143 commits into from

Conversation

hugovk
Copy link
Owner

@hugovk hugovk commented Feb 14, 2024


📚 Documentation preview 📚: https://cpython-previews--61.org.readthedocs.build/

wimglenn and others added 30 commits May 7, 2024 10:52
Use clang 18 in TSAN builds

We were using clang 14 which is a couple of years old.
…mode (pythonGH-118320)

Fix an edge case in `binascii.a2b_base64` strict mode, where
excessive padding was not detected when no padding is necessary.

Co-authored-by: Terry Jan Reedy <[email protected]>
Co-authored-by: Pieter Eendebak <[email protected]>
…118311)

The provided example was incorrect:
- The example enum was missing the `int` mixin as implied by the context
- The value of `int('1a', 16)` was incorrectly given as 17
  (should be 26)
…nGH-98592)

Callbacks registered in the tkinter module now take arguments as
various Python objects (int, float, bytes, tuple), not just str.
To restore the previous behavior set tkinter module global wantobject to 1
before creating the Tk object or call the wantobject() method of the Tk object
with argument 1.
Calling it with argument 2 restores the current default behavior.
…_import` (python#118732)

The `pool_in_threads.py` test file may crash in free-threaded builds,
which can lead to the Tsan test hanging. Skip it for now until we fix
the underlying issue.
…118711)

Make a rough editorial pass over Python 3.13's What's New document. Add the
release highlights, remove or merge some duplicated entries, and reorder
some of the sections (removals should really go before future deprecations).
)

A new `compute_powers()` function computes all and only the powers of the base the various base-conversion functions need, as efficiently as reasonably possible (turns out that invoking `**`is needed at most once). This typically gives a few % speedup, but the primary point is to simplify the base-conversion functions, which no longer need their own, ad hoc, and less efficient power-caching schemes.

Co-authored-by: Serhiy Storchaka <[email protected]>
…ython#118748)

We don't know how to create an unoptimized frame with f_locals == NULL,
but they are seen in the wild, and this fixes the crash.
brandtbucher and others added 24 commits May 16, 2024 12:11
…d by C API (pythonGH-119063)

The source line was not displayed if the warnings module had not yet
been imported.
)

Sort also 'omitted' in TestResults.display_result().
Asymptotically faster (O(n log n)) str->int for very large strings, leveraging the faster multiplication scheme in the C-coded `_decimal` when available. This is used instead of the current Karatsuba-limited method starting at 2 million digits.

Lots of opportunity remains for fine-tuning. Good targets include changing BYTELIM, and possibly changing the internal output base (from 256 to a higher number of bytes).

Doing this was substantial work, and many of the new lines are actually comments giving correctness proofs. The obvious approaches sticking to integers were too slow to be useful, so this is doing variable-precision decimal floating-point arithmetic. Much faster, but worst-possible rounding errors have to be wholly accounted for, using as little precision as possible.

Special thanks to Serhiy Storchaka for asking many good questions in his code reviews!

Co-authored-by: Jelle Zijlstra <[email protected]>
Co-authored-by: sstandre <[email protected]>
Co-authored-by: Pieter Eendebak <[email protected]>
Co-authored-by: Nice Zombies <[email protected]>
Various test bots (outside the ones GH normally runs) are timing out during test_int after ecd8664 (asymptotically faster str->int). Best guess is that they don't build the C _decimal module. So require that module in the most likely tests to time out then. Flying mostly blind, though!
Nobody has been using a Sun machine for a long time. When I saw
this sentence in a lightning talk just now, I thought it was talking
about sending Python code on a spacecraft.
Apparently only macOS requires read permission to call `readlink()` on a
symlink.
…(None)` (python#119124)

Restore behaviour from 3.12 when `path.with_suffix(None)` is called.
…hon#119131)

Code from https://github.com/pulkin, in PR
python#119131

Greatly speeds `Differ` when there are many identically scoring pairs, by splitting the recursion near the inputs' midpoints instead of degenerating (as now) into just peeling off the first two lines.

Co-authored-by: Tim Peters <[email protected]>
@hugovk hugovk force-pushed the no-new-news-nits branch from b5dc065 to df7ff88 Compare May 20, 2024 13:56
@hugovk hugovk force-pushed the no-new-news-nits branch from df7ff88 to 2ff144f Compare May 20, 2024 14:01
@hugovk hugovk mentioned this pull request May 20, 2024
@hugovk hugovk closed this May 23, 2024
@hugovk hugovk deleted the no-new-news-nits branch May 23, 2024 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.