Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
125: Speed up bitmap iteration r=Kerollmops a=saik0 A low hanging fruit I found: Bitmap iteration currently tests every bit for each non-zero element This PR skips runs of zeros by inspecting the least significant bit, which can be computed with one instruction on most architectures. ``` iter bitmap 1..10_000 time: [48.602 us 48.787 us 48.978 us] change: [-44.893% -44.519% -44.164%] (p = 0.00 < 0.05) Performance has improved. Found 4 outliers among 100 measurements (4.00%) 3 (3.00%) high mild 1 (1.00%) high severe iter bitmap sparse time: [4.8238 us 4.8478 us 4.8737 us] change: [-3.6741% -3.1564% -2.6669%] (p = 0.00 < 0.05) Performance has improved. Found 3 outliers among 100 measurements (3.00%) 3 (3.00%) high mild iter bitmap dense time: [160.14 us 160.73 us 161.29 us] change: [-27.912% -27.207% -26.571%] (p = 0.00 < 0.05) Performance has improved. Found 1 outliers among 100 measurements (1.00%) 1 (1.00%) high mild iter bitmap minimal time: [18.447 us 18.512 us 18.579 us] change: [-2.8722% -2.1247% -1.3247%] (p = 0.00 < 0.05) Performance has improved. Found 6 outliers among 100 measurements (6.00%) 1 (1.00%) high mild 5 (5.00%) high severe iter bitmap full time: [312.97 us 314.10 us 315.35 us] change: [-18.450% -17.937% -17.471%] (p = 0.00 < 0.05) Performance has improved. Found 5 outliers among 100 measurements (5.00%) 4 (4.00%) high mild 1 (1.00%) high severe Benchmarking iter parsed: Warming up for 3.0000 s Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 7.8s, enable flat sampling, or reduce sample count to 50. iter parsed time: [1.5311 ms 1.5371 ms 1.5436 ms] change: [-22.496% -21.943% -21.450%] (p = 0.00 < 0.05) Performance has improved. Found 5 outliers among 100 measurements (5.00%) 4 (4.00%) high mild 1 (1.00%) high severe ``` Co-authored-by: saik0 <github@saik0.net>
- Loading branch information