I have an application that collects data from sensors and streams it to
a database in real time, using 8-byte doubles. I stream the data as a
string of smallish records, max size is around 10K (arbitrarily set).
At very high data rates (500 per second), on devices with NVFS, it
isn't keeping up. I want to do everything I can to help the OS stream
the data quickly to the db, so I'm looking for suggestions and pointers
to help me squeeze performance from the device.
I've read the NVFS section of the developers guide, and that helped a
lot. (You should have seen it when I was opening and closing the db for
every write! Ouch.) But I'm still not there.
I'm looking for any general guidelines beyond what's in the Dev. guide,
but also have some specific questions:
1) If I increase the record size to pack more data in each record,
could that speed up the writing? In other words, is the time overhead
of creating a new record longer on NVFS systems?
2) I am currently making liberal use of DmResizeRecord(), expanding the
record as I receive data. I can't find anything explicit in the
documentation, but I fear this might also be a bad idea with the
DBCache scheme.
Thanks for any comments on these specifics, or any other suggestions or
pointers to other info about streaming data to the db at the fastest
possible rate.
Dave Johnson
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/