gpt4 book ai didi

ruby - 为什么我的 rspec 测试在 Ruby 1.9.2 中比在 1.8.7 中运行得慢?

转载 作者:数据小太阳 更新时间:2023-10-29 07:07:36 26 4
gpt4 key购买 nike

我正在使用 spork测试 Sinatra 应用程序,使用 Ruby 1.9.2,测试运行时间约为 3.5 秒,但在 Ruby 1.8.7 中,平均运行时间为 1.2 秒。我确实尝试过 Ruby 1.9.3 甚至 JRuby,但它们在我使用的 gems 上有一些错误。有没有办法将 Ruby 1.9.2 的 rspec 性能提高到 1.8.7 的水平?

我的 gem 文件:

source :rubygems
gem 'sinatra', '1.3.1'
gem 'thin', '1.3.1'
gem 'haml', '3.1.4'
gem 'datamapper', '1.2.0'
gem 'dm-postgres-adapter', '1.2.0'
gem 'carrierwave', '0.5.8'
gem 'carrierwave-datamapper', '0.2.0'

group :test do
gem "dm-sqlite-adapter"
gem "spork"
gem "rspec"
gem "rack-test"
end

spec_helper.rb:

require 'rubygems'
require 'spork'
require 'sinatra'
require 'rack/test'
require 'rspec'

require File.join(File.dirname(__FILE__), '..', 'app.rb')
require File.join(File.dirname(__FILE__), '..', 'model/model.rb')

Spork.prefork do
set :environment, :test
set :files, "test_files"
end

Spork.each_run do
RSpec.configure do |config|
config.before(:each) { DataMapper.auto_migrate! }
config.after(:all) do
FileUtils.rm_rf(Dir["#{settings.root}/public/test_files"])
end
end
end

谢谢!

最佳答案

ruby 1.9.2 在启动期间需要文件的方式存在问题: http://rhnh.net/2011/05/28/speeding-up-rails-startup-time

1.9.3 对此 IIRC 进行了部分修复。

关于ruby - 为什么我的 rspec 测试在 Ruby 1.9.2 中比在 1.8.7 中运行得慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com