Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant