Подтвердить что ты не робот

Core Data vs Sqlite и производительность

Мне интересно, есть ли у кого-нибудь реальные числа в мире по разнице в производительности между старым приложением sqlite, которое было преобразовано в Core Data в SDK 3.0.

Я подозреваю, что под капотом Core Data просто использует sqlite в любом случае и что он добавляет немного накладных расходов для удобства, но я думал, что я все равно спрошу.

4b9b3361

Ответ 1

Основные данные сильно оптимизированы в отношении кэширования, ленивой загрузки и управления памятью.

Если вы используете его (с типом хранилища SQLite), особенно в сочетании с NSFetchedResultsController, вы должны получить лучшую производительность, чем вы могли бы получить с помощью SQLite самостоятельно.

Apple много работала над тем, чтобы Core Data хорошо работала на iPhone. Мое приложение переключилось с SQLite w/FMDB на Core Data, и теперь оно быстрее и стабильнее с меньшим количеством кода.

Ответ 2

Core Data может использовать sqllite - разработчик должен сконфигурировать, поэтому ваш подозреваемый правильно. На телефоне я бы предложил sqllite - лучшая идея.

Я думаю, что одним из самых больших преимуществ, которые вы можете получить благодаря использованию Core Data, является ленивая загрузка данных и сбоев для сохранения в памяти. Поэтому вам также нужно думать о таких вещах, когда вы рассматриваете производительность, поскольку количество свободной памяти, которую вы имеете, также будет влиять на производительность.