Skip to content

[WIP] try to support more wheels - #1149

Draft
chirizxc wants to merge 20 commits into
msgspec:mainfrom
chirizxc:tests
Draft

[WIP] try to support more wheels#1149
chirizxc wants to merge 20 commits into
msgspec:mainfrom
chirizxc:tests

Conversation

@chirizxc

@chirizxc chirizxc commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

The diff is large because of:

actions-up --yes --min-age 0

I'll revert these changes later

@chirizxc
chirizxc requested a review from a team August 11, 2026 12:42
@codspeed-hq

codspeed-hq Bot commented Aug 11, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 10.32%

⚡ 1 improved benchmark
✅ 138 untouched benchmarks
⏩ 135 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation test_pickle_load[arm] 1.8 ms 1.6 ms +10.32%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing chirizxc:tests (c52a2cd) with main (f51f378)

Open in CodSpeed

Footnotes

  1. 135 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@chirizxc chirizxc closed this Aug 11, 2026
@chirizxc chirizxc reopened this Aug 11, 2026
@chirizxc chirizxc changed the title try to support more wheels [WIP] try to support more wheels Aug 11, 2026

@sobolevn sobolevn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think that x86_64 macos would be the only reasonable thing to support?

I am also not a fan of the CI speed. All jobs take 10+ minutes to test these platforms. Which is a long time :(

Comment thread .github/workflows/build-wheels.yml Outdated
--output-dir wheelhouse
"${PACKAGE_DIR}"
- name: Set up QEMU
if: runner.os == 'Linux' && contains(fromJSON('["ppc64le","s390x","armv7l"]'), matrix.wheel.archs)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we really need these platforms? There was 1 real user request for these platforms: #788

I am asking, because this is not free for us:

  • We have to maintain all the build infra
  • We have to run CI for this regularly

I think that msgspec can be compiled locally quite easily and quite efficently. So, proving wheels is not 100% required for it to work.

Moreover, there's not much platform specific code in msgspec for us to test it heavily.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, this will increase the CI time, but for people who use these targets, installing the wheel will be much faster than compiling it on the spot

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I guess we can compile manylinux and musslinux on different GitHub Runners

Comment thread .github/workflows/build-wheels.yml Outdated
Comment thread tests/unit/test_msgpack.py Outdated
Comment thread .github/workflows/build-wheels.yml Outdated
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.

2 participants