mutualmobile/MMRecord — pull request #23 by cnstoll (2013-06-15 04:23:06+00:00)
Title: Wwdc performance

So I had an itch to do some performance optimization at WWDC after watching the Core Data Performance session and here's the result. On my sample test App.net dataset I'm seeing performance improvements from the following sample sizes.

1000 records: 300ms
10000 records: 3s
100000 records: 30s

Those are fairly complex records which have multiple relationships and populate multiple attributes per relationship entity. It's a significant performance improvement just with a few basic algorithmic changes.

Part of that pulls in Luke's (cc @urbanappetite) changes from the other pull request. Part of it is changes I made at WWDC.

Please review the changes made to the core MMRecord classes. The rest of the changes are the addition of a new Example app which allows you to control things like test data sample size via a method in the app delegate. That makes it easy to try different sizes and diagnose issues quicker.

Thanks,

- Conrad