A recent major change that I made in my application has confirmed something
that I had suspected and that you might want to consider in your own
designs: database download (sync) time is much more affected by the number
of records than by the size of the records. That is, if two databases are
the same size in total bytes, the one with fewer records in it will sync
faster (this is due to having to free and/or allocate memory for each chunk
on the Palm, etc.).

In my original design, I had a one-to-one correspondence between my logical
records and Palm database records. So, if my data had 2000 records, that
meant 2000 Palm database records, many of which were quite small (<100
bytes). The database is generated on the PC and is loaded to the Palm by
either a regular database install or by using a conduit. My recent change
was to develop a record packing algorithm that puts up to 50 logical records
into each Palm record. This is a little extra work to create the database
and to unpack the records when accessing them on the Palm, but not really
that much.

For comparison, an old-style database that was 120Kb in total size took 70
seconds to download when replacing an existing database on the Palm. The
exact same data using the packed-record design was 122Kb in total size and
took 18 seconds for the same operation!

I thought that these results were quite interesting. Now I'm anxious to get
my new version out there so that I can tout this as a new, improved feature
:-).

  Doug Gordon
  GHCS Software

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to