Skip to content

[Enhancement][Vectorized] Speed up column filtering via SIMD #7774

Closed

Description

@zenoyang

Search before asking

  • I had searched in the issues and found no similar issues.

Description

I tested 6000000 elements to filter,The time consumption for each implementation is as follows:

filter data set all is 0, such as 00000000...

origin cost: 19553 microseconds
sse cost: 1856 microseconds
sse_for cost: 1848 microseconds
avx2 cost: 1020 microseconds

filter data set 1/5 is 1, such as 00001000010000100001...

origin cost: 49023 microseconds
sse cost: 38613 microseconds
sse_for cost: 46018 microseconds
avx2 cost: 36195 microseconds

filter data set 1/3 is 1, such as 001001001001...

origin cost: 68974 microseconds
sse cost: 61366 microseconds
sse_for cost: 69220 microseconds
avx2 cost: 58368 microseconds

filter data set 1/2 is 1, such as 01010101...

origin cost: 96398 microseconds
sse cost: 95707 microseconds
sse_for cost: 96138 microseconds
avx2 cost: 88001 microseconds

filter data set all is 1, such as 11111111...

origin cost: 193828 microseconds
sse cost: 188143 microseconds
sse_for cost: 189108 microseconds
avx2 cost: 127760 microseconds

test code: https://godbolt.org/z/Gf6hvcnej

Solution

no

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Activity

  1. HappenLee commented on Jan 17, 2022

    @HappenLee
    Contributor

    nice job!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions