Thanks to visit codestin.com
Credit goes to github.com

Skip to content

<bitset>: Investigate further performance improvements #3858

@StephanTLavavej

Description

@StephanTLavavej

Followup to #3838 which is adding a benchmark - thanks @achabense!

  • @AlexGuteniev suggested using basic_string::resize_and_overwrite, creating an _Ugly version for unconditional use internally. (We generally avoid adding totally novel secret machinery to Standard classes as it can become a maintenance burden, but simply having _Ugly names to access Future Technology is easy and common.)
  • @AlexGuteniev also suggested investigating whether branchless codegen for assigning _Elem0 vs. _Elem1 would be superior. (Note: we cannot assume that their values are consecutive, they could be 'M' and 'E'.)
  • I suggest investigating SIMD, as this would seem to be highly amenable to vectorization.

Regardless of what's investigated, I recommend profiling each change in isolation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    fixedSomething works now, yay!performanceMust go faster

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions