Rails:i18n,如果我将整个应用程序转换为本地化,我会有很大的性能影响吗?

时间:2011-09-14 18:07:22

标签: ruby-on-rails internationalization

只是想知道,因为对于每个视图/控制器/所有内容中的每个字符串,它都需要额外查找以替换占位符。 Grated,这些替换中的每一个都是快速的球......但是......有没有人注意到重要的性能问题?

1 个答案:

答案 0 :(得分:1)

当rails加载时,它会将您的语言环境文件加载到内存中,这意味着时间成本接近执行内存查找所需的时间。根据我的经验,这并未将应用程序降低到可感知的水平。这是一个基准或排序:

Benchmark.realtime { 10000.times { I18n.t(:hello) } } # => 0.834578037261963

Benchmark.realtime { 10000.times { String.new("hello") } } # => 0.00372004508972168

当然,第二个基准测试没有做很多事情,I18n的10000个请求仍然会在一秒钟内产生。