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

bpo-39829: Optimize __len__() being called twice in the list() constructor #31816

Merged
merged 15 commits into from
Mar 14, 2022

Conversation

thatbirdguythatuknownot
Copy link
Contributor

@thatbirdguythatuknownot thatbirdguythatuknownot commented Mar 11, 2022

Copy link
Member

@methane methane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to round size up to even for memory efficiency.
(obmalloc aligns the memory block by 16byte on 64bit platform)
But it can be implemented in the other pull request.

Objects/listobject.c Outdated Show resolved Hide resolved
@methane methane merged commit 2153daf into python:main Mar 14, 2022
carljm pushed a commit to carljm/cpython that referenced this pull request Mar 14, 2022
* main: (94 commits)
  Revert "bpo-46986: Upgrade bundled setuptools to 60.9.3 (pythonGH-31820)" (pythonGH-31879)
  bpo-30677: [doc] mention that os.mkdir() can raise FileNotFoundError (pythonGH-31548)
  git ignore Lib/site-packages (pythonGH-31862)
  bpo-31415: importtime was made by Inada Naoki (pythonGH-31875)
  bpo-46920: Remove code that has explainers why it was disabled (pythonGH-31813)
  bpo-46920: Remove disabled debug code added decades ago and likely unnecessary (pythonGH-31812)
  bpo-46920: Remove code that has no explainer why it was disabled (pythonGH-31814)
  bpo-46906: Mention native endian in PyFloat_Pack8() doc (pythonGH-31866)
  bpo-40280: select: Use NULL for empty fdset (pythonGH-31865)
  CI: Fix patchcheck (pythonGH-31708)
  bpo-46987: Remove _PySys_GetObjectId / _PySys_GetObjectId (pythonGH-31835)
  bpo-46994: Accept explicit contextvars.Context in asyncio create_task() API (pythonGH-31837)
  bpo-39829: Fix `__len__()` is called twice in list() constructor (pythonGH-31816)
  bpo-47003: Cleanup _overlapped module (pythonGH-31848)
  bpo-47004: Sync with importlib_metadata 4.11.3. (python#31854)
  bpo-46986: Upgrade bundled setuptools to 60.9.3 (pythonGH-31820)
  bpo-46985: Upgrade bundled pip to 22.0.4 (pythonGH-31819)
  bpo-46805: Add low level UDP socket functions to asyncio (pythonGH-31455)
  bpo-46995: Deprecate missing asyncio.Task.set_name() for third-party task implementations (pythonGH-31838)
  bpo-43215: Document Happy Eyeballs args of asyncio.open_connection (pythonGH-24525)
  ...
@methane
Copy link
Member

methane commented May 18, 2022

Since this PR fixed regression (#87740), should we backport this PR to 3.10?

@methane methane added the needs backport to 3.10 only security fixes label May 18, 2022
@miss-islington
Copy link
Contributor

Thanks @thatbirdguythatuknownot for the PR, and @methane for merging it 🌮🎉.. I'm working now to backport this PR to: 3.10.
🐍🍒⛏🤖

@bedevere-bot
Copy link

GH-92912 is a backport of this pull request to the 3.10 branch.

@bedevere-bot bedevere-bot removed the needs backport to 3.10 only security fixes label May 18, 2022
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request May 18, 2022
…honGH-31816)

(cherry picked from commit 2153daf)

Co-authored-by: Crowthebird <78076854+thatbirdguythatuknownot@users.noreply.github.com>
methane pushed a commit that referenced this pull request May 18, 2022
…31816)

(cherry picked from commit 2153daf)

This patch fixes gh-87740 too.

Co-authored-by: Crowthebird <78076854+thatbirdguythatuknownot@users.noreply.github.com>
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.

6 participants