gpt4 book ai didi

performance - 耙 Assets :precompile taking extremely long to complete

转载 作者:行者123 更新时间:2023-12-03 22:33:50 24 4
gpt4 key购买 nike

在我的开发沙箱中

RAILS_ENV=production rake assets:precompile

需要 4 多分钟才能完成。这正常吗。在 heroku 上,完成这项工作需要 10 多分钟,有时会超时。有没有办法剖析这个和/或加快它?

更新

我分析了编译的 CSS 与 JS 阶段
3.7 s        js
175 s css

这些数字是通过检测这里得出的
----------------------
/Users/bradphelan/.rvm/gems/ruby-1.9.2-p180@gobbq/gems/sprockets-2.1.2/lib/sprockets/processing.rb
----------------------
266 # Assign a compressor to run on `application/javascript` assets.
267 #
268 # The compressor object must respond to `compress` or `compile`.
269 def js_compressor=(compressor)
270 expire_index!
271
272 unregister_bundle_processor 'application/javascript', :js_compressor
273 return unless compressor
274
275 register_bundle_processor 'application/javascript', :js_compressor do |context, data|
276
277 timeit "js" do
278 compressor.compress(data)
279 end
280
281 end
282 end


    ----------------------
/Users/bradphelan/.rvm/gems/ruby-1.9.2-p180@gobbq/gems/sprockets-2.1.2/lib/sprockets/processing.rb
----------------------
241
242 # Assign a compressor to run on `text/css` assets.
243 #
244 # The compressor object must respond to `compress` or `compile`.
245 def css_compressor=(compressor)
246 expire_index!
247
248 unregister_bundle_processor 'text/css', :css_compressor
249 return unless compressor
250
251 register_bundle_processor 'text/css', :css_compressor do |context, data|
252 timeit "css" do
253 compressor.compress(data)
254 end
255 end
256 end

时间 call 是做计时的附加位
def timeit context
s = Time.now
yield.tap do
e = Time.now
d = e - s
puts "#{d*1000}\t #{context}"
end
end

最佳答案

我在 Rails 3.2.13 上 - 我在使用 css 压缩很长时间时遇到了同样的问题。修理:

在 Gemfile 中添加:

gem 'yui-compressor'

在 config/environments/production.rb 中:
config.assets.css_compressor = :yui
config.assets.js_compressor = :yui

耙子 Assets :没有这些变化的预编译: 325 秒

耙 Assets :预编译这些更改: 79 秒

rake Assets :无压缩预编译:45 秒

关于performance - 耙 Assets :precompile taking extremely long to complete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9739654/

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