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

iseq.c: Use ntz_intptr for faster bitmap scan #6059

Merged
merged 1 commit into from Jun 24, 2022
Merged

Conversation

casperisfine
Copy link
Contributor

Ref: #6053

@casperisfine casperisfine force-pushed the bitmap-ffs branch 7 times, most recently from 573b47f to ff9ea52 Compare June 24, 2022 15:37
iseq.c Fixed Show fixed Hide fixed
@casperisfine casperisfine changed the title iseq.c: Use ffsl for faster bitmap scan iseq.c: Use ntz_intptr for faster bitmap scan Jun 24, 2022
@byroot byroot requested a review from tenderlove June 24, 2022 17:31
Copy link
Member

@tenderlove tenderlove left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should merge this. I ran my microbench against Rails and this is consistently faster. It's not a huge difference, but definitely faster.

Master branch is like this:

ruby 3.2.0dev (2022-06-24T21:11:08Z fix-iseq-binary 778f6f2d67) [arm64-darwin21]
Warming up --------------------------------------
            major GC     7.000  i/100ms
Calculating -------------------------------------
            major GC     76.558  (± 1.3%) i/s -    385.000  in   5.029896s

This branch is like this:

ruby 3.2.0dev (2022-06-24T17:04:17Z bitmap-ffs cf501acbc1) [arm64-darwin21]
Warming up --------------------------------------
            major GC     7.000  i/100ms
Calculating -------------------------------------
            major GC     78.668  (± 2.5%) i/s -    399.000  in   5.074635s

@byroot byroot merged commit d7cc380 into ruby:master Jun 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants