diff options
author | Kouhei Yanagita <yanagi@shakenbu.org> | 2023-09-19 15:29:35 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-09-21 10:30:58 +0900 |
commit | 7e350f53107533856b0a87c26e5a1e5505ea5d59 (patch) | |
tree | e524ab366c7203fd90474123a8c385b826eb6a7b /benchmark | |
parent | ab637cad2b582e8247bafd87a3b0f6323d564f64 (diff) |
Optimize Range#bsearch for beginless/endless ranges within Fixnum
Diffstat (limited to 'benchmark')
-rw-r--r-- | benchmark/range_bsearch.yml | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/benchmark/range_bsearch.yml b/benchmark/range_bsearch.yml index 9a7388ab04..8d7bedb662 100644 --- a/benchmark/range_bsearch.yml +++ b/benchmark/range_bsearch.yml @@ -1,9 +1,21 @@ prelude: | - r = (1..) + re = (1..) + rb = (..0) benchmark: - '10**1': r.bsearch { |x| x >= 10 } - '10**2': r.bsearch { |x| x >= 100 } - '10**3': r.bsearch { |x| x >= 1000 } - '10**4': r.bsearch { |x| x >= 10000 } - '10**5': r.bsearch { |x| x >= 100000 } + 'endless 10**0': re.bsearch { |x| x >= 1 } + 'endless 10**1': re.bsearch { |x| x >= 10 } + 'endless 10**2': re.bsearch { |x| x >= 100 } + 'endless 10**3': re.bsearch { |x| x >= 1000 } + 'endless 10**4': re.bsearch { |x| x >= 10000 } + 'endless 10**5': re.bsearch { |x| x >= 100000 } + 'endless 10**10': re.bsearch { |x| x >= 10000000000 } + 'endless 10**100': re.bsearch { |x| x >= 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 } + 'beginless -10**0': rb.bsearch { |x| x >= -1 } + 'beginless -10**1': rb.bsearch { |x| x >= -10 } + 'beginless -10**2': rb.bsearch { |x| x >= -100 } + 'beginless -10**3': rb.bsearch { |x| x >= -1000 } + 'beginless -10**4': rb.bsearch { |x| x >= -10000 } + 'beginless -10**5': rb.bsearch { |x| x >= -100000 } + 'beginless -10**10': rb.bsearch { |x| x >= -10000000000 } + 'beginless -10**100': rb.bsearch { |x| x >= -10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 } |