To: Sean Smith Cc: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Re: Disk I/O rates with DJGPP Date: Wed, 02 Nov 94 14:37:54 +0200 From: "Eli Zaretskii" > A colleague of mine who is also using DJGPP has commented that the disk I/O > (low level) for DJGPP objects is substantially slower than native > Windows or DOS I/O. The comment is that e.g. Zortech C/C++ can produce > binaries that give block reads and writes of large blocks at up to > 400kbs-1 while despite the chosen blocksize DJGPP low level reads and > writes reach a ceiling at around 30kbs-1. Obviously there is some DJGPP uses a 4K transfer buffer between the protected-mode program and real-mode DOS services provided by go32. As long as this buffer is used, doing I/O with blocks larger than 4K won't help. If the program you are talking about does nothing much other than reading or writing large files (and, with the exception of wc, I have yet to see such a program which does some non-trivial job), then currently there is no other way (AFAIK) except allocating your own, larger, transfer buffer and doing low-level I/O yourself. All of the above can be accomplished with the DPMI services that go32 (or another DPMI server) provides to your protected-mode programs.