Я бы подошел к этому, используя два разных Gemfiles.
Предположим, у вас есть файл benchmark.rb
, который имеет следующее:
# benchmark.rb
require 'benchmark'
puts Benchmark.measure { 1000.times{ call_to_gem_method} }
Затем с двумя разными Gem-файлами, один из которых называется Gemfile-oldgem
, а другой - Gemfile-newgem
, вы делаете следующее:
# Gemfile-oldgem
gem "mygem", :path => "/path/to/oldgem/mygem"
Запустите это для старого теста драгоценных камней:
BUNDLE_GEMFILE=Gemfile-oldgem bundle exec ruby benchmark.rb
А для нового драгоценного камня у вас есть:
# Gemfile-newgem
gem "mygem", :path => "/path/to/newgem/mygem"
Запустите это для сравнения:
BUNDLE_GEMFILE=Gemfile-newgem bundle exec ruby benchmark.rb