javaBin / ems-ios

iOS-app som viser programmet til JavaZone - erstattes fra 2017 med https://github.com/javaBin/appZone
4 stars 0 forks source link

Keyword search is really slow and leads to application not being able to launch #81

Open ronnienessa opened 11 years ago

ronnienessa commented 11 years ago

Keyword search is very slow. When selecting more than 4 keywords the main thread will hang very long before the search can be completed. Since the NSFetchedResultsController for the session view is running on the main thread the application will be killed on launch by the watchdog. The only way to come out of this situation is to either uninstall the application or delete the documents directory.

chrissearle commented 11 years ago

Interesting. This was added since it was a big feature request from users from previous years (where you could only select one keyword). How do we improve this? Some kind of index table in Core Data ?

ronnienessa commented 11 years ago

To be honest I don't have much experience optimizing core data. But an index table doesn't seem like a bad idea.

Vennlig hilsen Ronnie Nessa

Den 28. sep. 2013 kl. 12:42 skrev Chris Searle notifications@github.com:

Interesting. This was added since it was a big feature request from users from previous years (where you could only select one keyword). How do we improve this? Some kind of index table in Core Data ?

— Reply to this email directly or view it on GitHub.

chrissearle commented 10 years ago

https://developer.apple.com/videos/wwdc/2010/ - Optimizing Core Data Performance on iPhone OS

Apparently this talks about replacing CONTAINS with a join table containing normalized words

See also https://developer.apple.com/library/mac/samplecode/DerivedProperty/Listings/DerivedProperty_APLNormalizedStringTransformer_m.html - normalizeString and upperBoundSearchString

chrissearle commented 10 years ago

Actually - we already have ConferenceKeyword entity in the model.

So - if we replaced the search to search on that instead and added a relation from that to session we might be sorted