Hi Lorraine,
Is this on a T5?  If so, the delay is probably caused by the flushing of the 
DBCache to NAND Ram (non-volatile ram).  The algorithm that is used for that 
seems to take a minimalist approach to flushing so on a series of consecutive 
writes, it can cause a significant delay.  Also, as detailed in other postings 
here, there isn't a way to effectively flush the cache.

Hope this helps!

-Jon

-------------------------------------------
Jonathan Hays
Palm OS Certified Developer
http://hazelware.luggle.com 
-------------------------------------------


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Lorraine Chin
Sent: Thursday, March 31, 2005 10:35 AM
To: Palm Developer Forum
Subject: FileOpen/FileTruncate takes 22 seconds!


I write to 3 files in RAM until all but 512Kbytes of the 50 Mbytes of RAM 
is filled.
The 2 largest files tend to be written in alternating order as the data 
specific to each file comes in over the port.
1 file is written to 72 bytes at a time.  The larger file is written to 272 
bytes at a time.  The 3rd file is written only once at the beginning and is 
only 119 bytes.

When I call FileOpen with fileModeReadWrite or FileTruncate on the 3 files, 
it takes 22 seconds!

If I fill the RAM halfway, it only takes about 5 seconds. But even 5 
seconds for a Palm API to return is way too long.

What on earth could be causing this and more importantly, can I do anything 
about it?

By the way, I didn't use to have this long delay problem with 
FileOpen/FileTruncate when all the data used to be stored in a single large 
file.  That single large file also contained writes that alternated between 
72 and 272 bytes in length.

Thanks in advance for the advice,
Lorraine 


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

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

Reply via email to