ruby-on-rails-4 - Rails 4.2 中使用 oj gem 缓慢 to_json

标签 ruby-on-rails-4 to-json

我将 Rails 应用程序从 Rails 3.2 升级到 Rails 4.2。在我看来 to_json 的性能很糟糕。在我的 Rails 3.2 应用程序中,我使用 multi_json 和 Oj gem 来获得出色的性能。在 Rails 4.2 中,我这样设置 oj gem:

gem 'oj', '~> 2.14', '>= 2.14.2'
gem 'oj_mimic_json', '~> 1.0', '>= 1.0.1'

但是,to_json 性能似乎不如 Rails 3.2 应用程序那么好。一次 to_json 调用大约需要 50% 的 CPU 时间。

Oj gem 文档提到添加:

serialize :metadata, Oj

使其与 ActiveRecord 一起使用。这条线应该出现在我使用的模型中吗?

enter image description here

最佳答案

我找到了这里提到的答案: https://github.com/ohler55/oj/issues/199

添加两个 gem 后,还必须调用:

Oj.mimic_JSON()

.to_json 使用 Oj。

关于ruby-on-rails-4 - Rails 4.2 中使用 oj gem 缓慢 to_json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34743583/

相关文章:

ruby-on-rails-4 - Rails 4 + Turbolinks + JQuery Turbolinks + Coffeescript : Events being fired multiple times

java - 转换后的 json(来自 ArrayList)有更多元素

python - 有没有办法防止 pandas to_json 添加\?

json - Postgres to-json 将复合类型转换为空结构

ruby - rails ransack gem 搜索 json 列

css - Ruby on Rails 4、样式表和图片

ruby-on-rails - 无法使用 RMagick 打开上传的图像文件

java - toJson() 时是否可以更改属性的顺序?

ruby-on-rails - 如何从 Redis 缓存中获取对象而不是哈希?

ruby-on-rails-4 - 在 Rails4 中,使用 Trailblazer,如何访问 current_user