Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: darvid/python-hyperscan
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: darvid/python-hyperscan
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: fix/simde-backend-x86-perf-253
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 3 files changed
  • 1 contributor

Commits on Feb 11, 2026

  1. fix(build): only enable SIMDE_BACKEND for non-x86 architectures (#253)

    - SIMDE_BACKEND was unconditionally enabled for all vectorscan builds,
      which disables native x86 CPU feature detection and caps performance
      at SSE2 level
    - on x86-64, this caused a ~2.5-13x throughput regression vs v0.7.21
      because vectorscan's runtime dispatch to SSE4.2/AVX2/AVX512 code
      paths was completely bypassed
    - now only enables SIMDE_BACKEND on ARM and other non-x86 architectures
      where vectorscan genuinely needs the SIMD emulation layer
    - add benchmark script for reproducing and validating the regression
    darvid committed Feb 11, 2026
    Configuration menu
    Copy the full SHA
    9fe502a View commit details
    Browse the repository at this point in the history
  2. ci(build): replace deprecated macos-13 runners with macos-15

    - GitHub deprecated macos-13 (Intel) runners
    - macOS x86_64 wheels are now cross-compiled on ARM runners via
      Rosetta 2, which cibuildwheel handles natively
    darvid committed Feb 11, 2026
    Configuration menu
    Copy the full SHA
    3b9a0d2 View commit details
    Browse the repository at this point in the history
  3. build: patch vectorscan x86-64-v2 march for older GCC compat

    - vectorscan 5.4.12 uses -march=x86-64-v2 in cflags-x86.cmake and
      archdetect.cmake, but GCC <11 (manylinux2014 devtoolset) does not
      recognize this value
    - patch source at build time to use -march=nehalem which provides the
      same SSE4.2 baseline and is supported by all GCC versions
    - only applied when using native x86 backend (not SIMDE_BACKEND)
    darvid committed Feb 11, 2026
    Configuration menu
    Copy the full SHA
    ecfa543 View commit details
    Browse the repository at this point in the history
  4. build: fix macOS x86_64 cross-compilation on ARM runners

    - use CMAKE_OSX_ARCHITECTURES (target arch) instead of
      CMAKE_SYSTEM_PROCESSOR (host arch) for SIMDE_BACKEND decision
      on macOS, so cross-compiling x86_64 on ARM correctly disables
      SIMDE and builds native x86 vectorscan
    - forward CMAKE_OSX_ARCHITECTURES to ExternalProject_Add so
      vectorscan builds for the correct target architecture
    - handle BSD sed -i syntax difference on macOS for the
      x86-64-v2 → nehalem patch
    darvid committed Feb 11, 2026
    Configuration menu
    Copy the full SHA
    1e4045c View commit details
    Browse the repository at this point in the history
  5. build: use perl for x86-64-v2 patch to fix macOS sed compat

    - CMake's list handling drops empty string in sed -i "" causing
      BSD sed to fail with "rename(): No such file or directory"
    - perl -pi -e works identically on Linux and macOS
    darvid committed Feb 11, 2026
    Configuration menu
    Copy the full SHA
    5a81c77 View commit details
    Browse the repository at this point in the history
  6. ci(build): pin uv to 0.9.x to fix Windows build failures

    - uv 0.10.2 leaks host Python 3.12 stdlib into cibuildwheel
      venvs on Windows, causing SRE module mismatch and import
      errors for non-3.12 Python targets
    darvid committed Feb 11, 2026
    Configuration menu
    Copy the full SHA
    3edefbd View commit details
    Browse the repository at this point in the history
Loading