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

Optimize strided loop assignment for runtime-contiguous layout types with contiguous assignment #2810

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Ivorforce
Copy link

@Ivorforce Ivorforce commented Oct 10, 2024

Checklist

  • The title and commit message(s) are descriptive.
  • Small commits made to fix your PR have been squashed to avoid history pollution.
  • Tests have been added for new features or bug fixes.
  • API of new functions and classes are documented.

Description

This is important for types that are dynamic statically, but still contiguous at runtime. I haven't tested runtime gains yet, but I'm guessing it should have an impact (especially by taking #2809 as a model).

The duplicated !E1::contiguous_layout logic is to give compilers an easier time to evaluate the if as a constexpr, deleting the uncontiguous path for clearly statically contiguous layouts.

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