Speed differences - be more specific (Miscellaneous)
> I do not doubt FreeDOS is the slowest, but I do doubt that it's in dire
> need of a speedup. In particular, I personally would like to know a few
> things about any such tests in the future (just to be more accurate):
>
> * what kernel version (2036? 2037?)
> * compiled by what (Turbo C? Turbo C++? OpenWatcom?)
> * compiled-for target cpu (8086/FAT16? 386/FAT32?)
> * what cpus tested in the benchmark (286? 486? Pentium? P4? AMD64?)
>
> For instance, I've heard that a PentiumPro will run 16-bit code slower
> than a plain ol' Pentium. And of course, just from experience, I know my
> 486 Sx/25 is dog slow compared to my P166 (which is quite slow compared to
> my P4 or AMD64).
>
> So, if someone out there wants to test, be prepared to give detailed
> information on what you used.
Doesn't make any difference as far as hardware goes, since they'd have used the same machine for the benchmark. The compiler/cpu/etc don't make a difference either, since what's taking all the time is hard disk IO.
And yes, if FreeDOS is slowest, it probably needs a better method to read files from the disk. It probably does something stupid.
For example, here's two ways of reading:
1.
a) Read directory info. Scan it for filename + grab cluster #.
b) Read data one sector at a time from cluster until we've read it.
c) Read the fat for the next cluster #
d) Read data one sector at a time from cluster until we've read it...
----
e) On next call, re-read directory info & scan fat to get to pointer
2.
a) Scan directory until we've found the filename + grab cluster #.
b) If filesize <= cluster size, then read entire cluster
c) If not, read entire fat chain and store it
d) Read largest contiguous cluster
---
e) On next call, continue using stored fat chain
Let's pretend a program calls these ^ twice. Two calls to read 32k at a time of a contiguous 64k file, on a 4k cluster partition out of a directory that has only that file.
1) Would do 16 read calls for the directory info (8 for each call). 22 read calls to the FAT (7 for the first call, 15 for the second). 128 calls for the actual file.
Total: 166 int 13h calls or direct hard disk reads.
2) Would do 1 read call for the directory info. 1 read call for the FAT. 2 calls to read the actual file.
Total: 4 int 13h calls or direct hard disk reads.
This isn't theory :) --- this is how corporate databases (mysql/postgresql/oracle/etc) work. They'll execute an extra 1000~ lines of code simply to determine the best way to read from hard drives rather than actually go ahead and start reading the data.
Complete thread:
- Ultimate DOS kernel file copy speed test - lucho, 30.07.2007, 17:38 (Miscellaneous)
- Ultimate DOS kernel file copy speed test - rr, 31.07.2007, 09:20
- Ultimate DOS kernel file copy speed test - lucho, 31.07.2007, 17:14
- Ultimate DOS kernel file copy speed test - rr, 31.07.2007, 17:34
- Ultimate DOS kernel file copy speed test - sol, 30.11.2007, 17:51
- Speed differences negligible - Japheth, 03.12.2007, 12:25
- Speed differences - be more specific - Rugxulo, 05.12.2007, 22:31
- Speed differences - be more specific - Japheth, 05.12.2007, 23:02
- Speed differences - be more specific - sol, 05.12.2007, 23:05
- Speed differences - be more specific - tom, 06.12.2007, 13:01
- Speed differences - be more specific - sol, 06.12.2007, 17:50
- Speed differences - be more specific - tom, 06.12.2007, 17:59
- Speed differences - be more specific - sol, 06.12.2007, 18:32
- Speed differences - be more specific - sol, 06.12.2007, 18:35
- Speed differences - be more specific - tom, 06.12.2007, 18:49
- Speed differences - be more specific - sol, 06.12.2007, 18:55
- Speed differences - be more specific - tom, 06.12.2007, 19:08
- Speed differences - be more specific - sol, 06.12.2007, 21:30
- Speed differences - be more specific - rr, 07.12.2007, 09:43
- Speed differences - be more specific - tom, 07.12.2007, 11:11
- Speed differences - be more specific - sol, 07.12.2007, 17:09
- Speed differences - be more specific - tom, 07.12.2007, 20:22
- Speed differences - be more specific - sol, 07.12.2007, 20:51
- Speed differences - be more specific - Japheth, 07.12.2007, 21:27
- Speed differences - be more specific - sol, 07.12.2007, 22:40
- Speed differences - be more specific - Japheth, 07.12.2007, 23:20
- Speed differences - be more specific - sol, 08.12.2007, 01:00
- Speed differences - be more specific - Japheth, 07.12.2007, 23:20
- Speed differences - be more specific - sol, 07.12.2007, 22:40
- Speed differences - be more specific - Japheth, 07.12.2007, 21:27
- Speed differences - be more specific - sol, 07.12.2007, 20:51
- Speed differences - be more specific - tom, 07.12.2007, 20:22
- Speed differences - be more specific - sol, 07.12.2007, 17:09
- Speed differences - be more specific - sol, 06.12.2007, 21:30
- Speed differences - be more specific - tom, 06.12.2007, 19:08
- Speed differences - be more specific - sol, 06.12.2007, 18:55
- Speed differences - be more specific - sol, 06.12.2007, 18:32
- Speed differences - be more specific - tom, 06.12.2007, 17:59
- Speed differences - be more specific - sol, 06.12.2007, 17:50
- Speed differences - be more specific - tom, 06.12.2007, 13:01
- Speed differences negligible - sol, 06.12.2007, 01:14
- Speed differences - be more specific - Rugxulo, 05.12.2007, 22:31
- Speed differences negligible - Japheth, 03.12.2007, 12:25
- Ultimate DOS kernel file copy speed test - lucho, 31.07.2007, 17:14
- Ultimate DOS kernel file copy speed test - Rugxulo, 31.07.2007, 10:12
- Who said that DOS was dead? - lucho, 31.07.2007, 19:07
- Who said that DOS was dead? - Steve, 31.07.2007, 19:50
- Who said that DOS was dead? - rr, 31.07.2007, 20:17
- Who said that DOS was dead? - lucho, 01.08.2007, 14:55
- Who said that DOS was dead? - Rugxulo, 01.08.2007, 04:13
- Ultimate DOS kernel file copy speed test LINUX LINUX ... ... - DOS386, 02.08.2007, 15:28
- Ultimate DOS kernel file copy speed test LINUX LINUX ... ... - Rugxulo, 03.08.2007, 05:09
- Who said that DOS was dead? - lucho, 31.07.2007, 19:07
- Ultimate DOS kernel file copy speed test || Slowest FreeDOS - DOS386, 02.08.2007, 15:26
- Ultimate DOS kernel file copy speed test - rr, 31.07.2007, 09:20