Revision 5096e8a9ac03848fbcf4adc01cac11714428b025 authored by Delson Lima on 12 April 2018, 18:24:55 UTC, committed by jekyllbot on 12 April 2018, 18:24:55 UTC
1 parent c9346ef
Raw File
end-with-vs-regexp
#!/usr/bin/env ruby
require 'benchmark/ips'

Benchmark.ips do |x|
  path_without_ending_slash = '/some/very/very/long/path/to/a/file/i/like'
  x.report('no slash regexp')    { path_without_ending_slash =~ /\/$/ }
  x.report('no slash end_with?') { path_without_ending_slash.end_with?("/")  }
  x.report('no slash [-1, 1]') { path_without_ending_slash[-1, 1] == "/"  }
end

Benchmark.ips do |x|
  path_with_ending_slash = '/some/very/very/long/path/to/a/file/i/like/'
  x.report('slash regexp')    { path_with_ending_slash =~ /\/$/ }
  x.report('slash end_with?') { path_with_ending_slash.end_with?("/")  }
  x.report('slash [-1, 1]')   { path_with_ending_slash[-1, 1] == "/"  }
end
back to top