GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-148675: Optimize arraydescr structure: use char[3] by vstinner · Pull Request #149455 · python/cpython

Conversation

@vstinner

@vstinner vstinner commented May 6, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Replace "const char *typecode;" with "char typecode[3];" to make the arraydescr structure smaller and avoids an indirection.

  • Issue: Add support for numpy buffer format Zf and Zd #148675

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@vstinner
pythongh-148675: Optimize arraydescr structure: use char[3]
1b52f8c
Replace "const char *typecode;" with "char typecode[3];" to make the
arraydescr structure smaller and avoids an indirection.
@vstinner vstinner added the skip news label May 6, 2026
@bedevere-app bedevere-app Bot mentioned this pull request May 6, 2026
Add support for numpy buffer format Zf and Zd #148675
Closed
@bedevere-app bedevere-app Bot added the awaiting core review label May 6, 2026
@read-the-docs-community

read-the-docs-community Bot commented May 6, 2026

Copy link
Copy Markdown

Documentation build overview

📚 cpython-previews | 🛠️ Build #32562183 | 📁 Comparing 1b52f8c against main (70e365c)

  🔍 Preview build  

2 files changed
± library/functions.html
± whatsnew/3.15.html
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vstinner

vstinner commented May 6, 2026

Copy link
Copy Markdown
Member Author

@scoder @encukou: Would you mind to review this change?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

scoder
scoder approved these changes May 6, 2026
View reviewed changes

@scoder scoder left a comment •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Looks good to me. Enough to change the struct field back to its previous (padded) size.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@bedevere-app bedevere-app Bot removed the awaiting core review label May 6, 2026
@scoder

scoder commented May 6, 2026

Copy link
Copy Markdown
Contributor

Personally, I would also have optimised the strcmp() calls into single character comparisons to make it clear to the C compiler that that's almost always enough for taking the decision, but that'd be an optimisation with yet-to-be-measured benefit, not a fix. Definitely not something that comes with a deadline.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot added the awaiting merge label May 6, 2026
@scoder scoder mentioned this pull request May 6, 2026
Adapt array module declarations Python 3.15 changes cython/cython#7659
Merged
@encukou
encukou merged commit 9274d96 into python:main May 6, 2026
60 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the awaiting merge label May 6, 2026
@vstinner
vstinner deleted the array_typecode branch May 6, 2026 14:34
@vstinner

vstinner commented May 6, 2026

Copy link
Copy Markdown
Member Author

Thanks for merging my change @encukou :-)

hugovk reacted with hooray emoji
All reactions
  • 🎉 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@scoder scoder scoder approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@vstinner @scoder @encukou
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.