Skip to content

Add Neon implementation of bitset_to_string#6153

Open
hazzlim wants to merge 3 commits intomicrosoft:mainfrom
hazzlim:bitset-to-string-neon-pr
Open

Add Neon implementation of bitset_to_string#6153
hazzlim wants to merge 3 commits intomicrosoft:mainfrom
hazzlim:bitset-to-string-neon-pr

Conversation

@hazzlim
Copy link
Contributor

@hazzlim hazzlim commented Mar 11, 2026

This PR adds a Neon implementation of bitset_to_string.

There's a slightly ugly workaround for DevCom-11056873 which hopefully isn't deemed to egregious.

Benchmark results ⏲️

  MSVC Clang
BM_bitset_to_string<15, char> 1 0.996
BM_bitset_to_string<64, char> 2.516 1.294
BM_bitset_to_string_large_single<512, char> 7.873 7.064
BM_bitset_to_string_large_single<2048, char> 11.442 9.977
BM_bitset_to_string<7, wchar_t> 1 1.008
BM_bitset_to_string<64, wchar_t> 2.304 1.242
BM_bitset_to_string_large_single<512, wchar_t> 5.8 4.293
BM_bitset_to_string_large_single<2048, wchar_t> 7.778 5.714

@hazzlim hazzlim requested a review from a team as a code owner March 11, 2026 13:19
@github-project-automation github-project-automation bot moved this to Initial Review in STL Code Reviews Mar 11, 2026
@AlexGuteniev

This comment was marked as resolved.

@StephanTLavavej StephanTLavavej added performance Must go faster ARM64 Related to the ARM64 architecture ARM64EC I can't believe it's not x64! labels Mar 11, 2026
@hazzlim

This comment was marked as resolved.

@StephanTLavavej StephanTLavavej self-assigned this Mar 13, 2026
@StephanTLavavej StephanTLavavej removed their assignment Mar 16, 2026
@StephanTLavavej StephanTLavavej moved this from Initial Review to Ready To Merge in STL Code Reviews Mar 16, 2026
@StephanTLavavej StephanTLavavej moved this from Ready To Merge to Merging in STL Code Reviews Mar 21, 2026
@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo. Please notify me if any further changes are pushed, otherwise no action is required.

StephanTLavavej added a commit to StephanTLavavej/STL that referenced this pull request Mar 21, 2026
StephanTLavavej added a commit to StephanTLavavej/STL that referenced this pull request Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ARM64EC I can't believe it's not x64! ARM64 Related to the ARM64 architecture performance Must go faster

Projects

Status: Merging

Development

Successfully merging this pull request may close these issues.

3 participants