Help me to understand the limitations in the MS Atapi driver (CF)
From: Colin Ringer (colin_at_icrtouch.com)
Date: 05/27/04
- Next message: E. Nelson: "Remote debug session hangs app"
- Previous message: Ricardo mouro: "JScript limitattions"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 27 May 2004 15:11:35 -0700
I've put a few posts on here now, I'm struggling somewhat
with the MS Atapi driver when using a CF card on an IDE
port.
I've looked at a 3rd party atapi driver and also the
driver within CE 5.0, both of which are a good
improvement, certainly when reading or writing large
files. However during a phase of our application it is
writing to a lot of small files and the performance at
this time is very very poor, no matter which driver we
are using.
To determine my best course of action from here I need to
understand where it is that the problem actually lies.
Within our application we are;
Writing to 19 files totaling 4 KBytes in size, writing 3
files totaling 226 KBytes and writing a small amount of
data (less than 100 Bytes) to 3 x 150 KByte files using
file seeks to get to the relevant data positions.
I haven't actually timed it but this whole process is
taking well in excess of 10 seconds, could be as long as
20. Ouch!!!!
So what bit of it is it that it is causing the problem?
Is it the opening and closing of the files? If we left
the files open would this improve matters?
Is it the writing to different files, if we developed
somesort of virtual file system within our app that meant
that all the file data was written to one big file
instead of seperate files would this likely help?
I thought about developing a cache within our app itself,
so that data is written to the cache but changes actually
written to disk in the background using a thread. The
trouble with this is with write speed being as slow as it
appears to be, the possible loss of data due to power
failure would seem immense.
I'm also considering learning how to write an Atapi
driver and then ripping to bits the MS one hopefully
leaving only what we actually need. In a lighter form
dedicated to our own use are we likely to see a
signifigant enough improvement in performance? Is the
performance problems within Atapi.dll? Or does it go
further up the chain?
My apologies if this post seems a tad 'rambly', I've
expended a great deal of time and energy on getting this
project off the ground and we have found ourselves
completely stuck on one minor(ish) issue for sometime
now. There is a little frustration begining to show
through the cracks.
All suggestions would be very greatfully appreciated.
Col
PS. Congrats on CE 5.0, we've built an image using it and
have seen some good improvements. Particulalry pleased
with the new BIOS boot loader, which has already
been 'pinched' for our CE4.2 project :)
- Next message: E. Nelson: "Remote debug session hangs app"
- Previous message: Ricardo mouro: "JScript limitattions"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|
|