One common method to solve performance problems to use a data
cache.  Caching depends on a method of accessing data that is
statistically faster, but requires a means of tagging the data
and checking the data tags to determine if they are valid (hit)
or not (miss).

Db LocalID's and Indexes are faster, and usually correct, since db
creation and deletion does not occur often.  However, Palm blew it,
and did not provide a way of directly checking the LocalID "tag"
for validity, which makes caching LocalID's problematical.

One method of checking the LocalID tags is to index through the
*entire* storage heap by Index and build a private table of LocalIDs.
Then you can safely search your private table (until another app gets
launched).  Depending on the amount of LocalIDs you need to validate
and the number of total databases, indexing the entire Palm heap may
be faster than searching for each database you require one at a
time. If you only require 'appl' databases, these tend to occur in
contiguous ranges than you can frame with a binary search, seeded
by their last known location and range.


...if only the kids would read the extensive literature in
computational optimization techniques...

Ron Nicholson
HotPaw
http://www.hotpaw.com/rhn/hotpaw/

Reply via email to