Является ли создание объекта Nokogiri :: XML :: Builder дорогостоящим процессом? - PullRequest
0 голосов
/ 22 марта 2011

У меня есть список из примерно 1 000 000 объектов ActiveRecord, которые я использую для создания Nokogiri.Прямо сейчас я вызываю метод для каждого объекта, чтобы создать конструктор и вернуть его.Затем я записываю этот конструктор в уже открытый файл с:

builder.to_xml

Он работает нормально, но мне было интересно, смогу ли я как-нибудь создать пустой элемент компоновщика и клонировать его (или что-то подобное,дорогая операция) и отправить его в метод экземпляра AR.

1 Ответ

0 голосов
/ 27 марта 2011

Для 1 000 000 объектов я бы хотел использовать ERB или Erubis для генерации XML с использованием шаблона с ручной кодировкой.

Nokogiri динамически создает каждый элемент, что является дорогостоящим по сравнению со скоростью процессаон уже знает, что делать с каждым объектом.

Erubis работает быстрее, чем ERB, но ERB является стандартом для Rails.Шаблоны являются взаимозаменяемыми.

Другой альтернативный вариант - проверить, можете ли вы заставить свою базу данных выводить выбранные записи в виде XML на основе запроса.Это будет самый быстрый способ создания файла данных.

...