Проблема с производительностью при использовании Restkit (по сравнению с TBXML)

Я хочу использовать RestKit для анализа XML-данных с наших серверов. Загрузка и анализ занимают 2-3 секунды при нашем текущем подходе с использованием TBXML. Однако, когда я сейчас загружаю и анализирую тот же XML с помощью RestKit + CoreData, это занимает ~ 10 секунд. Что слишком много в нашем случае, так как это резко повлияет на работу конечного пользователя.

XML имеет размер 1,3 МБ, и я преобразовываю XML в два объекта со следующими атрибутами:

Родитель:

  • 3 строковых атрибута
  • 1 атрибут Integer32

Вложенный объект:

  • 2 атрибута даты (с настраиваемым средством форматирования даты, назначенным сопоставлению: yyyy-MM-dd HH:mm:ss'Z')
  • 2 строковых атрибута

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


person Besi    schedule 01.03.2012    source источник


Ответы (1)


Вы сравниваете яблоки с апельсинами. Загрузка и синтаксический анализ с помощью TBXML делает значительно меньше, чем RestKit + CoreData, который загружает, синтаксический анализ, динамическое сопоставление с объектами и сохранение в CoreData.

Эта статья дает хороший обзор характеристик производительности различных парсеров XML, работающих на устройствах iOS. TBXML — самый быстрый, а libxml2 DOM анализирует примерно на 20% медленнее.

person Stuart Carnie    schedule 16.03.2012