jjm@alice.UucP (John J. McCarthy) (03/11/86)
I have an application in which the time required for writes to the hard disk on my 6300 is critical. (The application is sampling speech at 10-20Khz.) The program involves successive writes of blocks of 4-8K. I have found that the first write takes more than twice as long as subsequent ones, which is too long. I have also found that the time the first write requires is inversely related to the number of disk I/O buffers specified in the config.sys file. That is, the write time contrarily is longer when there are more buffers (say > 40 buffers of 512 bytes each). I've also tried doing writes to the file of dummy data and then seeking back to the beginning. This doesn't seem to help. Does anyone have any experience with problems of this sort? Evidently the seek is only logical, not physical. Is there a work-around? I'm using Lattice C v3.00. Is there an optimal number of I/O buffers for these requirements? The disk is 10 megabytes, about half full. It was recently reformatted, so there is probably not too much fragmentation. -- John McCarthy, AT&T Bell Labs, Murray Hill; 201 582-6595; alice!jjm also Univ. of Mass., Amherst; 413 545-0889; mccarthy@umass-cs.csnet
jay@ethos.UUCP (Jay Denebeim) (03/16/86)
It sounds like too many buffers to me. Under MS-DOS, if the number of buffers becomes too large, the system bogs down. I haven't heard a good explanation for it to act this way. In my experiences, 20 buffers, and 15 files gives about the best performance with a 10 meg hard disk. -- Jay Denebeim "One world, one egg, one basket." {seismo,decvax,ihnp4}!mcnc!rti-sel!ethos!jay Deep Thought, ZNode #42 300/1200/2400 919-471-6436