Intereting Posts

Производительность ORM: greenDAO быстрее ORMLite?

Я использовал ORMLite в своем приложении, и я рассматривал возможность перехода на greenDAO.

Производительность является огромной частью этого решения, а на странице функций GreenDAO :

Для того же данного объекта greenDAO вставляет и обновляет объекты более чем в 2 раза быстрее и загружает объекты в 4,5 раза быстрее для загрузки объектов, чем ORMLite.

(Цифры и диаграммы обновлены 10-23-2011)

Я думал, что шаг создания файла конфигурации ORMLite должен устранить необходимость отражения во время выполнения.

ORMLite changlog предполагает, что тест greenDAO был выполнен после того, как была выпущена функция файла конфигурации, но на странице функций greenDAO явно не указано, был ли создан статический файл конфигурации для теста.

4.26: 9/26/2011 (svn r1978)
* ANDROID: добавлена ​​утилита настройки поля, чтобы избежать проблем с производительностью Dao с аннотациями.

С тех пор также были исправлены ошибки ORMLite, например

4.40: 4/16/2012 (svn r2516)
* ANDROID: исправлена ​​большая ошибка при создании DAO. Внешние поля всегда использовали отражение вместо табличных конфигураций.

Может ли кто-нибудь подтвердить, есть ли еще большая разница в производительности между greenDAO и ORMLite? Благодаря!

Solutions Collecting From Web of "Производительность ORM: greenDAO быстрее ORMLite?"

Мы только что опубликовали проект Github, который мы использовали для сравнения производительности ORMLite и GreenDao с сырым SQLite:
https://github.com/daj/android-orm-benchmark

Проект также позволяет сравнить производительность базы данных в памяти с дисковой памятью.

Результатами заголовка являются:

GreenDao намного быстрее, чем ORMLite . Это примерно:

  • 3X быстрее при записи большого количества объектов.
  • 50% быстрее при чтении всех 10000 записей в одной таблице.
  • От 2X до 3X быстрее при индексированном чтении одной строки (хотя оба они были очень быстрыми).
  • 15X быстрее при выполнении поиска LIKE для 100 записей в столовой записи 10000.

Проект содержит как наивный исходный тест SQLite, так и оптимизированный тест SQLite .

GreenDao против un оптимизированного исходного SQLite

  • GreenDao на 2 раза быстрее для теста записи.
  • GreenDao на 25% медленнее для чтения.

GreenDao против оптимизированного исходного SQLite

  • GreenDao на 50% медленнее для тестов чтения и записи.

Подробные результаты приведены в репозитории Github выше.

Конечно, у нас могут быть ошибки в нашем бенчмаркинге … если вы найдете какую-нибудь вилку, исправьте и отправьте запрос на тяну! 🙂

Отказ от ответственности: убедитесь, что вы проводите собственное исследование, прежде чем выбирать GreenDao над ORMLite.