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

Add niche optimization #49

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Add niche optimization #49

wants to merge 8 commits into from

Commits on Sep 5, 2022

  1. Configuration menu
    Copy the full SHA
    79323d7 View commit details
    Browse the repository at this point in the history
  2. Add niche optimization

    This PR adds niche optimization. This lets the compiler use values
    outside of the valid integer range to store e.g. other enum variants.
    This makes `Option<u7>` one byte.
    
    The internal representation is own the same as the related primitive
    type, i.e. every u30 can be transmuted to u32. The other direction is
    possible if the u32 is representable in the u30 range.
    Kijewski committed Sep 5, 2022
    Configuration menu
    Copy the full SHA
    3b02c33 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    191510c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    36acdeb View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2022

  1. FIXUP: combine into one file

    Kijewski committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    01c5bf3 View commit details
    Browse the repository at this point in the history
  2. Make every method #[inline]

    This speeds up the compilation by 50% (YMMV), because code is only
    generated if used.
    
    The methods should generate trivial instructions for most methods, so
    there should be no drawbacks in using this annotation.
    Kijewski committed Sep 14, 2022
    Configuration menu
    Copy the full SHA
    1c7a8ef View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2022

  1. Add layout test

    Kijewski committed Sep 16, 2022
    Configuration menu
    Copy the full SHA
    dadb1db View commit details
    Browse the repository at this point in the history
  2. Cleanup: remove lib core

    Kijewski committed Sep 16, 2022
    Configuration menu
    Copy the full SHA
    65b6a7e View commit details
    Browse the repository at this point in the history