If you have a UITableView with hundreds of objects, the cache is very important, as it will change the load time from seconds to milliseconds. The trick is that the cache is one on one with its NSPredicate . If you change the predicate, the cache will be restored. If you change NSPredicate constantly, then the cache is useless.
If you have a table view that is consistent with its NSFetchRequest , then cache will significantly improve performance.
Update
The batch size is determined during its installation and applies only when it must return to the permanent storage. If there is data in the cache, then it will go first, and the lot size, in my experience, will be ignored.
source share