Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用rails perftest(rails 4.1.4、Ruby 2.1.2)启用内存报告_Ruby On Rails_Ruby_Memory_Performance Testing - Fatal编程技术网

Ruby on rails 使用rails perftest(rails 4.1.4、Ruby 2.1.2)启用内存报告

Ruby on rails 使用rails perftest(rails 4.1.4、Ruby 2.1.2)启用内存报告,ruby-on-rails,ruby,memory,performance-testing,Ruby On Rails,Ruby,Memory,Performance Testing,我使用的是rails 4.1.4、ruby 2.1.2和rvm Gemfile(摘录) 我使用这些命令安装了ruby(以便应用支持内存分析的补丁) 但是仍然没有运气和内存报告是空的,rake-test:benchmark或rake-test:profile我试图获得与Rails 3基准相同的Ruby补丁和版本,但也被破坏了,尽管方式不同。在我看来,这是Rails中的一个疏忽。我在Rails 3.2应用程序中看到此警告字符串 $ bundle exec rake test:benchmark Up

我使用的是rails 4.1.4、ruby 2.1.2和rvm

Gemfile(摘录)

我使用这些命令安装了ruby(以便应用支持内存分析的补丁)


但是仍然没有运气和内存报告是空的,
rake-test:benchmark
rake-test:profile
我试图获得与Rails 3基准相同的Ruby补丁和版本,但也被破坏了,尽管方式不同。在我看来,这是Rails中的一个疏忽。我在Rails 3.2应用程序中看到此警告字符串

$ bundle exec rake test:benchmark
Update your ruby interpreter to be able to run benchmarks.
$ bundle exec rails -v
Rails 3.2.21
问题似乎是ActiveSupport 3.2不知道针对这段特定代码的Ruby版本高于2.0

if RUBY_VERSION.between?('1.9.2', '2.0')
  require 'active_support/testing/performance/ruby/yarv'
elsif RUBY_VERSION.between?('1.8.6', '1.9')
  require 'active_support/testing/performance/ruby/mri'
else
  $stderr.puts 'Update your ruby interpreter to be able to run benchmarks.'
  exit
end

在手动编辑版本检查之后,我可以确认补丁在Rails3版本2.1.2中是否有效。也许您可以检查一下您的RUBY_版本和RUBY_引擎常量是否有任何异常

(我知道这不是一个真正的答案,但我没有足够的声誉发表评论。同时,希望它排除了rvm补丁和ruby prof的问题)

$ bundle exec rake test:benchmark
Update your ruby interpreter to be able to run benchmarks.
$ bundle exec rails -v
Rails 3.2.21
if RUBY_VERSION.between?('1.9.2', '2.0')
  require 'active_support/testing/performance/ruby/yarv'
elsif RUBY_VERSION.between?('1.8.6', '1.9')
  require 'active_support/testing/performance/ruby/mri'
else
  $stderr.puts 'Update your ruby interpreter to be able to run benchmarks.'
  exit
end