2009-06-25 14 views
23

Me pregunto si alguien tiene números del mundo real sobre las diferencias de rendimiento entre una aplicación sqlite antigua que se ha convertido a Datos básicos en el SDK 3.0.Datos principales frente a Sqlite y rendimiento

Sospecho que bajo el capó Core Data solo usa sqlite de todos modos y que agrega un poco de sobrecarga por el costo de conveniencia, pero pensé que lo haría de todos modos.

+3

No hay necesidad de "sospechar" esto. En la documentación se establece claramente que tiene la opción de una tienda SQLite. –

Respuesta

34

Core Data está muy optimizado en cuanto a almacenamiento en caché, carga lenta y gestión de memoria.

Si lo usa (con el tipo de tienda SQLite), especialmente junto con NSFetchedResultsController, debería obtener un mejor rendimiento del que podría obtener con SQLite por su cuenta.

Apple ha trabajado mucho para que Core Data funcione bien en el iPhone. Mi aplicación cambió de SQLite w/FMDB a Core Data y ahora es más rápida y estable con menos código.

+0

Tenía la impresión común de que Core Data simplemente agregaría sobrecarga a SQLite, pero me mostraron que todo lo que describe es cierto. De hecho, creo que la libreta de direcciones del iPhone ahora está basada en Core Data en 3.0. Es un voto de confianza bastante fuerte. –

+0

Creo que la aplicación iPod ahora también. – Hunter

+0

Excelente información ... gracias – Lounges

2

Core Data puede usar sqllite - le corresponde al desarrollador configurarlo - para que su sospechoso esté correctamente configurado. En el teléfono sugeriría sqllite es la mejor idea.

Creo que uno de los mayores beneficios que puede obtener al usar Core Data es la carga de datos en latencia y las fallas para ahorrar memoria. Por lo tanto, también debe pensar en este tipo de cosas cuando considere el rendimiento, ya que la cantidad de memoria libre que tiene también afectará el rendimiento.

Cuestiones relacionadas