Skip to content

Proposal: Build x86_64 release packages for different microarch levels (2596) #1337

Open
@GalacticEmperor1

Description

@GalacticEmperor1

Issue №2596 opened by robertpfeiffer at 2021-05-20 15:52:17

Instead of building one x86_64 wheel, we can build wheels with for x86_64, x86_64-v2, x86_64-v3, and x86_64-v4. These levels have been standardised between GCC and clang: https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html https://www.phoronix.com/scan.php?page=news_item&px=GCC-11-x86-64-Feature-Levels

Reasons against this:

  1. It needs to be supported by pip, or the user has to download the correct wheel by hand
  2. PyInstaller might produce binaries that require a higher microarchitecture level than desired

Reasons for this:

  1. It's easy enough to build the release wheels with four different -march= cflags.
  2. Trusting the compiler to do better code generation everywhere
  3. This can co-exist with CPU dispatch for "hot" code paths

Comments

# # robertpfeiffer commented at 2021-05-24 08:58:00

For extra style points, we could build the packaged SDL2 with the same settings

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions