Thanks for the reply. I've since broken up the songs into buckets depending
on the title length and I use a Dictionary to retrieve arrays based on the
length, then I am only searching a subset. It's WAY faster than searching
the entire collection of songs. I just pre-build this during app start up so
I only take the building hit once up front. Takes under 1 second to perform
the searching.



  Google Voice: (508) 656-0622
  Twitter: eric_dolecki      XBoxLive: edolecki      PSN: eric_dolecki
  http://blog.ericd.net



On Wed, Aug 10, 2011 at 11:27 AM, Wade Tregaskis <wadesli...@mac.com> wrote:

> >             //This takes about 6 seconds each search for song*
> >            for (id key in songsDictionary) {
> >                NSString *thisSong = key;
> >                int suppliedCount = [stringValue length];
> >                int keyCount = [thisSong length];
> >                //Fuzzy matching
> >                if(suppliedCount > keyCount){
> >                    match= [StringDistance stringDistance:thisSong
> > :stringValue];
> >                } else {
> >                    match= [StringDistance stringDistance:stringValue
> > :thisSong];
> >                }
> >                //Get the very best match there is to be found for song.
> >                if(match < currentFoundValue){
> >                    currentFoundValue = match;
> >                    test = [songsDictionary objectForKey:thisSong];
> >                    dis = [NSArray arrayWithObject:test];
> >                    collection = [[MPMediaItemCollection alloc]
> > initWithItems:dis];
> >                }
> >            }
>
> Did you ever Time Profile this?  While there are some minor inefficiencies
> (Why initialise 'dis' and 'collection' on every incremental result?  Why
> initialise suppliedCount every loop iteration?), it's likely that all your
> time is spent in your distance calculation.  While you probably assumed
> that, I'm having a hard time imagining what it could be doing that would
> justify it being so slow.  A Time Profile might show you something
> surprising.  And/or, you could post your distance algorithm for the list to
> look over.
>
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to