2016-01-12 5 views
2

Я обновил приложение Rails от Rails 3.2 до Rails 4.2. Производительность to_json в моих взглядах ужасна. В моем приложении Rails 3.2 я использовал multi_json и драгоценный камень Oj, чтобы получить отличную производительность. В Rails 4.2 я настройки ОЖ камень таким образом:Slow to_json с oj gem в Rails 4.2

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

Однако производительность to_json не кажется, почти так же хорошо, как с Rails 3.2 приложения. Один вызов to_json занимает около 50% времени процессора.

Жемчужина документации Oj упоминает добавление:

serialize :metadata, Oj 

, чтобы заставить его работать с ActiveRecord. Предполагается ли, что эта линия входит в модели, которые я использую?

enter image description here

+0

«Сериализация: метаданные, Oj» входят в атрибуты, которые используют сериализацию JSON, на мой взгляд. Я все еще не знаю, как использовать драгоценный камень с рельсами для замены стандартного json. Вы поняли это? – hakunin

+0

К сожалению, у меня все еще есть проблема. – user2666194

ответ

2

Я нашел ответ упомянутый здесь: https://github.com/ohler55/oj/issues/199

После добавления как драгоценные камни, один также назвать:

Oj.mimic_JSON() 

Для .to_json использовать Oj.

Смежные вопросы