Used NSPredicate to filter through the address book contacts. I also cut down on the looping and therefor decreased loading time. The calendar should not take longer than 2-3 seconds to load.