Contact Lookup Performance

How they compare

Here is a graph that shows a comparison of search times for a simple word search of ‘I’ and ‘IAN’. The contact database contains over 1300 contacts and the timings are from a HTC desire running Froyo.

Contact Lookup and Contact Lookup Pro have both been updated with a 2~3x performance increase when searching for one word terms like this. Now searching for IAN rather than ‘I’ is faster, mainly due to the reduced number of records that must be processed. Prior to the recent performance increase this wasn’t the case, as can be seen in Contact Search’s graph.

The graph shows Contact Lookup being faster than Contact Lookup Pro, the reason for this is that Contact Lookup Pro includes more search categories. For the search of ‘I’ Contact Search and Contact Lookup found 1268 contacts and Contact Lookup Pro found 1307 contacts, all due to the extra categories.

Contact Lookup Fast includes the same number of categories as Contact Lookup Pro but is significantly faster than both.

Update The 2~3x performance increase is achieved by using the ‘LIKE’ operator of the SQLITE database. However, this only works for LATIN character sets and is a limitation of SQLITE. If you use a different character set (Cyrillic, Kanji, etc) then you either need to use a case-sensitive search, or enable the ‘Not Latin’ menu preference. The ‘Not Latin’ preference disables the use of the LIKE optimisation, so your searches will be slower :-(.

Note that Contact Lookup Fast is not affected by this limitation as it converts all contact data to lower case before it is stored in the database.


3 thoughts on “Contact Lookup Performance

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s