1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/qiaoning13256-ORMPerformanceTest

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ORMPerformanceTest


Документы

Связанные проекты:

Описание результатов эксперимента:

  • Среда тестирования на Android-эмуляторе:

Операционная система: Mac OS X 10.10 Виртуальная машина: Genymotion Version 2.3.1 Версия Android-эмулятора: 4.2.2 API17 vs 2.3.7 API10 SQLite версия: 3.7.11 2012-03-20 11:35:50 vs 3.6.22 Реальное устройство: Смартфон Xiaomi 3, Android 4.4.4, SQLite версии 3.7.11 Смартфон HTC MyTouch 4G (Glacier), Android 2.3.7, SQLite версии 3.7.2

  • Все результаты экспериментов представляют собой средние значения, полученные после 10 измерений.

  • В эксперименте с одиночной вставкой (обновлением) (one-by-one insert/update) было использовано менее 100 записей (для экономии времени). В реальных проектах для массовой вставки данных обычно используются транзакции, поэтому одиночная вставка большого количества данных не имеет практического смысла.

  • Результаты эксперимента показывают различия между ORMLite и ORMLite2:

  • ORMLite использует аннотации (Annotation)
  • ORMLite2 использует файлы конфигурации в каталоге res/raw/
  • Автор AFinal был проинформирован о том, что FinalDB не поддерживает транзакции. Результаты экспериментов с массовой вставкой были получены после незначительных изменений в исходном коде AFinal, которые позволили включить транзакции.

  • Во время работы с GreenDAO на эмуляторе Android 2.3.7 возникла ошибка OOM после 10 000 операций. Причина ошибки неизвестна. Экспериментальные данные представляют собой среднее значение, полученное после 10 ручных запусков. На эмуляторе Android4.2.2 ошибка OOM не возникала.

  • При использовании собственных API баз данных Android для массовых вставок существует параметр «привязка параметров», который значительно сокращает время вставки и обновления. Однако API Level ниже 11 не позволяет использовать API обновления (только вставки).

  • Использование собственных API баз данных Android для одиночных вставок/обновлений (one-by-one insert/update) не даёт преимущества при использовании привязки параметров по сравнению с её отсутствием. Поэтому в результатах экспериментов нет строки «привязка параметров» для одиночных операций вставки/обновления.

  • Для операций выбора данных в собственных API баз данных Android привязка параметров не применяется. Поэтому строка «привязка параметров» отсутствует в разделе «нагрузка» тестовых данных.

  • Чтобы обеспечить согласованность условий эксперимента, не использовались флаги состояния.

  • ORMLite и ORMLite2 требуют ручного изменения кода.
  • Собственные API и собственные API с привязкой параметров также требуют ручного изменения кода

Результаты эксперимента

MI3, Android 4.4.4, Sqlite V3.7.11
  • Массовая вставка и обновление 10 000 записей (MI3, Android 4.4.4, Sqlite V3.7.11)

  • Массовая вставка и обновление 1 000 записей (MI3, Android 4.4.4, Sqlite V3.7.11)

  • Массовая вставка и обновление 100 записей (MI3, Android 4.4.4, Sqlite V3.7.11)

  • Время загрузки 10 000 записей (MI3, Android 4.4.4, Sqlite V3.7.11)

  • Время загрузки 1 000 записей (MI3, Android 4.4.4, Sqlite V3.7.11)


HTC Glacier, Android 2.3.7, Sqlite V3.7.2
  • Массовая вставка и обновление 10 000 записей (HTC Glacier, Android 2.3.7, Sqlite V3.7.2)

  • Массовая вставка и обновление 1 000 записей (HTC Glacier, Android 2.3.7, Sqlite V3.7.2)

  • Массовая вставка и обновление 100 записей (HTC Glacier, Android 2.3.7, Sqlite V3.7.2)

  • Время загрузки 10 000 записей (HTC Glacier, Android 2.3.7, Sqlite V3.7.2)

  • Время загрузки 1 000 записей (HTC Glacier, Android 2.3.7, Sqlite V3.7.2)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Проект тестирования производительности ORM. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/qiaoning13256-ORMPerformanceTest.git
git@api.gitlife.ru:oschina-mirror/qiaoning13256-ORMPerformanceTest.git
oschina-mirror
qiaoning13256-ORMPerformanceTest
qiaoning13256-ORMPerformanceTest
master