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

further performance improvements #84

Merged
merged 69 commits into from
Nov 26, 2024
Merged

further performance improvements #84

merged 69 commits into from
Nov 26, 2024

Conversation

anzdaddy
Copy link
Member

@anzdaddy anzdaddy commented Nov 22, 2024

  • make ci for consistent builds in CI.
  • Adaptively run 386 builds in docker on laptop and bare in CI.
  • More flexible profiling in Makefile.
  • Detect memory allocation regressions.
  • Rework numerous functions to reduce copying.
  • Remove several unused functions.
  • Improve constant array lookups.
    • Use arr[i%len(arr)] to avoid bounds checks.
    • Pad to 2ⁿ to avoid weird i%len(arr) math.
  • Shrink some types for better packing.
  • Change flavor constants for more efficient bit calcs.
  • Optimise 128-bit divide by 10¹⁵ and 10¹⁶.
  • Optimise all uint128T operations to minimise copying.
  • Simplify and optimiser decimal unpacking. Split flavor unpack into a separate operation for earlier short-circuiting.
  • Remove original field from decParts.
  • Add replayOnFail for easier test replay.
  • Rename IO benchmarks for better grouping.
  • Faster Add, Cmp and Mul.
  • Much faster sqrt using table lookup.
    • Add squareroot.decTest suite.

@anzdaddy anzdaddy changed the title cleanup another big cleanup Nov 26, 2024
@anzdaddy anzdaddy changed the title another big cleanup further performance improvements Nov 26, 2024
@anzdaddy anzdaddy merged commit 49080fe into master Nov 26, 2024
3 checks passed
@anzdaddy anzdaddy deleted the cleanup2 branch November 26, 2024 10:50
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.

1 participant