Почему мои тесты rspec выполняются медленнее в Ruby 1.9.2, чем в 1.8.7?

Я использую spork для тестирования приложения Sinatra, а с Ruby 1.9.2 тесты выполняются примерно за 3,5 секунды, но в Ruby 1.8.7 они в среднем 1,2 секунды. Я пробовал Ruby 1.9.3 и даже JRuby, но у них были ошибки с драгоценными камнями, которые я использую. Есть ли способ поднять производительность rspec Ruby 1.9.2 до уровня 1.8.7?

Мой Gemfile:

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

спасибо!

6
задан kreek 7 December 2011 в 23:52
поделиться