Я бы пошел с CoreData для проблем с производительностью. CoreData хорошо работает при выполнении отдельных операций, таких как чтение или вставка записей в хранилище, но при выполнении массовых операций происходит сбой, поскольку для обновления или удаления необходимо выполнить итерацию по всем объектам.
SQLite, с другой стороны, немного медленнее, но быстрее, чем CoreData в массовых операциях.
У меня есть приложения, использующие CoreData с 8k + записями, и у меня нет проблем. Единственная проблема, с которой я столкнулся, была при выполнении массовых операций, и я обновил свое приложение, чтобы использовать SQLite для данных, которые необходимо было массово обновить.
Вы также можете получить доступ к SQLite с помощью CoreData.