我正在努力改进我自己的一颗宝石。我希望能够获得一些数据,说明我提出的各种想法的改进程度(如果有的话)。
通常,我使用benchmark/ips工具进行测试。
因此,我想加载旧版本的我的宝石和新的目的是进行并行测试。
我不知道如何加载相同创业板的两个版本,并让它们根据需要选择性地应用。
到目前为止,我最好的想法是克隆旧的创业板,并构建一个本地副本,并更改名称,如"old_gem_name“。然后,为了比较的目的加载它。
有更好的办法吗?
发布于 2018-09-03 01:21:31
我会使用两个不同的Gemfile来处理这个问题。
因此,假设您有一个具有以下内容的benchmark.rb文件:
# benchmark.rb
require 'benchmark'
puts Benchmark.measure { 1000.times{ call_to_gem_method} }然后,使用两个不同的Gemfile(一个名为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
https://stackoverflow.com/questions/52132050
复制相似问题