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

[vector.bool] Optimize copy / move algorithms #3353

Merged
merged 22 commits into from
Sep 21, 2023

Conversation

miscco
Copy link
Contributor

@miscco miscco commented Jan 20, 2023

This is a revival of my old PR that optimized the copy / move algorithms

Unfortunately I did not have that much time recently, so here it is finally. The speedup is rather nice and grows well with the size of the array

Results_vec_bool.xlsx

@miscco miscco requested a review from a team as a code owner January 20, 2023 09:33
frederick-vs-ja

This comment was marked as resolved.

@CaseyCarter CaseyCarter added the performance Must go faster label Jan 20, 2023
@StephanTLavavej

This comment was marked as resolved.

stl/inc/xutility Outdated Show resolved Hide resolved
@miscco

This comment was marked as resolved.

README.md Outdated Show resolved Hide resolved
@StephanTLavavej StephanTLavavej self-assigned this Jan 25, 2023
stl/inc/xutility Show resolved Hide resolved
stl/inc/vector Outdated Show resolved Hide resolved
stl/inc/vector Outdated Show resolved Hide resolved
stl/inc/vector Outdated Show resolved Hide resolved
stl/inc/vector Outdated Show resolved Hide resolved
stl/inc/vector Outdated Show resolved Hide resolved
@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej

This comment was marked as resolved.

@StephanTLavavej StephanTLavavej removed their assignment Sep 12, 2023
@StephanTLavavej
Copy link
Member

This has passed a billion iterations (1'000'000'000) of the randomized tests.

@StephanTLavavej
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@barcharcraz barcharcraz removed their assignment Sep 20, 2023
@StephanTLavavej StephanTLavavej self-assigned this Sep 20, 2023
@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit f6580c2 into microsoft:main Sep 21, 2023
35 checks passed
@StephanTLavavej
Copy link
Member

Thanks for contributing this major optimization, enduring the almost 2 years it took to review (since the creation of #2461), and finding the time to fix the correctness issues! 👻 🚀 🎉

@StephanTLavavej
Copy link
Member

I reran the perf numbers and described the speedups in the changelog as varying from 1.8x to 3200x (of course this was only on my machine but the perf numbers are approximate anyways).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Must go faster
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants