2009-06-25 12 views
23

Zastanawiam się, czy ktokolwiek ma jakiekolwiek liczby rzeczywiste na temat różnic wydajności między starą aplikacją sqlite, która została przekonwertowana na Core Data w 3.0 SDK.Core Data vs Sqlite i wydajność

Podejrzewam, że pod maską Core Data po prostu używa sqlite i że dodaje trochę kosztów ogólnych, ale myślałem, że i tak o to zapytam.

+3

Nie ma potrzeby "podejrzewać" tego. W dokumentacji jest bardzo wyraźnie powiedziane, że masz możliwość sklepu SQLite. –

Odpowiedz

34

Core Data jest mocno zoptymalizowany pod kątem buforowania, ładowania i zarządzania pamięcią.

Jeśli go używasz (z typem magazynu SQLite), szczególnie w połączeniu z NSFetchedResultsController, powinieneś uzyskać lepszą wydajność, niż możesz uzyskać dzięki SQLite na własną rękę.

Apple ciężko pracował, aby Core Data działało dobrze na iPhonie. Moja aplikacja przeszła z SQLite w/FMDB na Core Data i teraz jest szybsza i stabilniejsza z mniejszym kodem.

+0

Miałem wrażenie, że Core Data tylko zwiększy obciążenie SQLite, ale pokazano mi, że wszystko, co opisujesz, jest prawdą. Uważam, że książka adresowa iPhone'a jest teraz oparta na Core Data w wersji 3.0. To dość mocny wotum zaufania. –

+0

Uważam, że aplikacja iPoda również jest teraz. – Hunter

+0

Świetne informacje ... dzięki – Lounges

2

Core Data może używać sqllite - od dewelopera zależy konfiguracja - więc Twój podejrzany poprawnie. Przez telefon sugerowałbym, że sqllite to najlepszy pomysł.

Myślę, że jedną z największych korzyści, jakie można uzyskać dzięki wykorzystaniu danych podstawowych, jest leniwy ładunek danych i błędy w zapisywaniu w pamięci. Musisz więc również pomyśleć o takich rzeczach, gdy rozważasz wydajność, ponieważ ilość wolnej pamięci, którą masz, wpłynie również na wydajność.

Powiązane problemy