Igual que en cualquier otro problema de rendimiento: use Shark y/o Instruments para identificar los cuellos de botella en su código, y luego concéntrese en cómo puede acelerar las cosas allí. Cada herramienta le dará una idea de cuánto tiempo pasó en qué partes de su código, por lo que el esquema general sería ejecutar la herramienta mientras inicia la aplicación y luego examinar minuciosamente los datos para ver dónde ocurren los golpes de rendimiento.
En el momento de la puesta en marcha de la aplicación, los candidatos más probables para la mejora pospondrán la carga de datos hasta más tarde cuando realmente se necesite, diversamente descrita como carga "bajo demanda" o "floja". Básicamente, no cargue ningún dato al inicio de la aplicación a menos que realmente se necesite de inmediato cuando la aplicación cargue. En la práctica, muchas de las cosas que pueden ser necesarias en algún momento no tienen que estar disponibles inmediatamente cuando se inicia la aplicación. Por ejemplo, si tiene una base de datos de N registros pero solo uno es visible a la vez, no cargue todos los N en la memoria al momento de inicio de la aplicación. Cargue lo que sea el registro actual y luego cargue los otros cuando realmente los necesite.