Skip to content

Comparison logic vs between? vs include? #225

@ydakuka

Description

@ydakuka
#!/usr/local/bin/ruby require 'benchmark/ips' Benchmark.ips do |x| value = 42 x.report('>= && <=') { value >= 1000 && value <= 2000 } x.report('include?') { (1000..2000).include?(value) } x.report('between?') { value.between?(1000, 2000) } x.compare! end
$ ruby -v ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin19] $ ruby bench.rb Warming up --------------------------------------  >= && <= 2.351M i/100ms  include? 1.139M i/100ms  between? 1.244M i/100ms Calculating -------------------------------------  >= && <= 23.476M (± 1.3%) i/s - 117.558M in 5.008408s  include? 11.117M (± 8.2%) i/s - 55.807M in 5.057945s  between? 11.021M (± 6.8%) i/s - 55.959M in 5.102033s Comparison:  >= && <=: 23475928.0 i/s  include?: 11117073.1 i/s - 2.11x slower  between?: 11020978.6 i/s - 2.13x slower

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