运行rails性能测试我不支持输出中的内存和对象。对于ruby 1.9x,可以安装gcdata补丁。但是,我无法弄清楚如何为ruby 2.0安装它。
当我跑步时:
bundle exec rake test:benchmark RAILS_ENV=test
我明白了:
BrowsingTest#test_homepage (247 ms warmup)
wall_time: 3 ms
memory: unsupported
objects: unsupported
gc_runs: 0
gc_time: 0 ms
= 1.42 sFinished tests in 1.500688s, 0.6664 tests/s, 0.0000 assertions/s.
1 tests, 0 assertions, 0 failures, 0 errors, 0 skips
我有Rails 3.2.21和Ruby 2.0:
ruby 2.0.0p598(2014-11-13修订版48408)[x86_64-darwin14.1.0]
答案 0 :(得分:0)
gcdata补丁仅适用于最新版本的1.9.3。 Ruby> = 2.0.0没有gcdata补丁。 在我看来,这个问题有两种选择:
保持应用程序的一个分支运行Rails 1.9.3的修补版本,并在那里运行测试。 缺点是结果可能不是100%准确,如果您使用Ruby 2语法,您的分支将会中断。
找到另一种测试内存使用情况和创建对象的方法,或者根本不使用新应用程序的选项。 好消息是Ruby 2+现在可以更好地处理垃圾收集,你不应该耗尽内存(除非你有兴趣为你的应用程序进行数字比较)。