【问题标题】:rspec tests under jruby on Windows running very slowWindows 上 jruby 下的 rspec 测试运行非常慢
【发布时间】:2011-12-07 16:21:47
【问题描述】:

我们正在考虑迁移到 jruby,作为其中的一部分,我们一直在研究测试方法和框架。我一直在本地开发机器上测试 rspec,发现使用 2 个非常简单的方法为单个类运行 2 个测试的总时间为 7-8 秒。简单来说,我的意思是一个 setter 和一个返回 true。

rspec 输出显示测试在大约 2 秒内运行,因此总时间的 5-6 秒用于加载和初始化 rspec。我正在使用

从命令行运行
C:\rubycode\rspec_tutorial>rspec --profile user_spec.rb
..

Top 2 slowest examples:
  User User should NOT be in any roles not assigned to it
    0.023 seconds ./user_spec.rb:15
  User User should be in any roles assigned to it
    0.006 seconds ./user_spec.rb:10

Finished in 2 seconds
2 examples, 0 failures

我正在运行 jruby 1.6.5 和 rspec 2.7.1

我读过这篇文章,Faster RSpec with JRuby 但它已经超过 1.5 年了,答案与运行测试套件有关,而不是 在本地进行少量测试以帮助 TDD,这正是我们想要开发的方式。接下来我们将合并一个 CI 服务器。

我的问题是,这是预期的执行时间吗?有没有什么办法可以加快 JRUBY 在本地开发机上运行 rspec 测试的速度?

编辑:

最大的性能提升是从 64 位“服务器”JVM 切换到 32 位“客户端”模式。我发现运行一个简单测试的时间减少了大约 40%。我也启动并运行了 Nailgun,但性能各不相同。 banzaiman 下面提供的链接最有帮助

【问题讨论】:

  • 启动 RSpec、启动正在使用的代码或运行测试是否占用了时间?
  • 做ruby my_class.rb需要多长时间?
  • 不确定您所说的“做”是什么意思,但已将分析输出添加到问题中。貌似 rspec 需要 2 秒,所以剩下的就是 JVM 时间了?
  • 当你在目录C:\rubycode\rspec_tutorial>中时,在命令行中运行命令ruby my_class.rb

标签: ruby windows testing rspec jruby


【解决方案1】:

不是加载 RSpec,而是你感觉到的 JVM 启动时间。

更多信息请参见https://github.com/jruby/jruby/wiki/Improving-startup-time。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    相关资源
    最近更新 更多