Note that there are some explanatory texts on larger screens.

plurals
  1. POOptimizing unresponsive (Core Data) app for OSX
    primarykey
    data
    text
    <p>having real problems with a very unresponsive (OSX) app. When using about 3K (Core Data) objects, the app freezes during startup and save, and when adding new managed objects.</p> <p>When I dig into the call tree, using (Instruments) Time Profiler, most of the time seems to be spent sorting array controllers. During startup, half of the time goes to NSUndoManager, which observes notifications while array controllers are setting their content...</p> <p>Is the array controller sorting while new managed objects are being instantiated? Do I need to put sorting on hold? Could NSUndoManager be the culprit?</p> <p>More importantly, how does one go about analyzing something like this? It could very well be that I have some sort of exponential sorting going on, by which I mean that when one array controller sorts itself, several other array controllers may needlessly start re-sorting themselves too. </p> <p>The datamodel I am using is fairly extensive. Also, I have about 30-ish array controllers in 2 .xib files, some of them managing the same class-type.</p> <p><a href="http://pragprog.com/book/mzcd/core-data" rel="nofollow">Marcus Zarra's book</a> on Core Data has been very informative, in this context especially the chapter on optimizing Core Data. </p> <p>Also, <a href="http://cocoawithlove.com/2010/02/finding-cause-of-simple-performance.html" rel="nofollow">this article</a> by Matt Gallagher is pretty impressive, although the issue I'm having probably isn't related to code that needs to be optimized.</p> <p>Any and all tips are welcome, I am pulling my hair out here. Could you point me to some tutorials or books that could help me out? Thanks.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload