Ruby on rails 如何在Rails中使has_secure_密码(bcrypt哈希)更快

Ruby on rails 如何在Rails中使has_secure_密码(bcrypt哈希)更快,ruby-on-rails,bcrypt,Ruby On Rails,Bcrypt,另一个留给后代的自我回答。:) 使用创建具有\u secure\u password(使用bcrypt散列)的模型非常慢User.create大约需要0.3秒 这降低了我的测试套件的速度。如何提高性能?Semyon Perepelitsa为test\u helper/spec\u helper提供了以下代码片段: require "bcrypt" silence_warnings do BCrypt::Engine::DEFAULT_COST = BCrypt::Engine::MIN_CO

另一个留给后代的自我回答。:)

使用
创建具有\u secure\u password
(使用bcrypt散列)的模型非常慢<代码>User.create大约需要0.3秒


这降低了我的测试套件的速度。如何提高性能?

Semyon Perepelitsa为test\u helper/spec\u helper提供了以下代码片段:

require "bcrypt"
silence_warnings do
  BCrypt::Engine::DEFAULT_COST = BCrypt::Engine::MIN_COST
end

这削弱了散列函数,使散列计算在测试模式下几乎是瞬时的-这正是我们想要的

只有当您没有加载完整的Rails环境(即,使用ActiveRecord的独立测试)时,才需要这样做。这已经被合并,Rails将在测试环境中自动完成。