[comp.unix.i386] DOS emulation under 386/ix

fritzz@lamont.ldgo.columbia.edu (fritz zaucker) (10/14/89)

Hi,

I made some benchmarks with the VP/ix Dos emulation under 
386/ix ver.2.02.  The interesting thing was that running it
under VP/ix was about 5 times slower than running it under 
pure DOS. The benchmark does nothing else than sorting a a
matrix on on of the columns. This should only be memory access.
Are there any explanations for this big difference ?  I didn't
think that it is so big.

Fritz

tpf@jdyx.UUCP (Tom Friedel) (10/14/89)

fritzz@lamont.ldgo.columbia.edu (fritz zaucker) writes:

>Hi,

>I made some benchmarks with the VP/ix Dos emulation under 
>386/ix ver.2.02.  The interesting thing was that running it
>under VP/ix was about 5 times slower than running it under 
>pure DOS. 


I've found most programs run less than 2 times slower, but I have
one non-graphics program that runs probably five times slower.  I
have a math co-processor, if this is of interest.  Any ideas...

Tom


-- 
Tom Friedel  (404) 320-7624 tpf@jdyx.UUCP CIS: 71131,3234
also:  tpf@jdyx.atlanta.ga.us ...gatech!emory!jdyx!tpf 
Public Access Unix BBS:  (404) 321-5020                  
"Live simply, so that others may simply live."

madd@bu-cs.BU.EDU (Jim Frost) (10/16/89)

In article <1989Oct13.230333.19030@jdyx.UUCP> tpf@jdyx.UUCP (Tom Friedel) writes:
|>I made some benchmarks with the VP/ix Dos emulation under 
|>386/ix ver.2.02.  The interesting thing was that running it
|>under VP/ix was about 5 times slower than running it under 
|>pure DOS. 
|
|
|I've found most programs run less than 2 times slower, but I have
|one non-graphics program that runs probably five times slower.  I
|have a math co-processor, if this is of interest.  Any ideas...

Sure.  I/O bound programs will run at nearly the same speed as under
pure DOS (emulation slows it down but the UNIX filesystem performance
is better than DOS much of the time), and compute-bound processes
will run markedly slower.  A factor of five doesn't surprise me.

A lot of goo is running all the time under UNIX, sharing your CPU with
the DOS emulator.  Thus your DOS emulator isn't going to get as much
CPU as pure DOS will.  Additionally UNIX is using virtual memory
instead of real memory as DOS does.  This causes two performance
penalties:  first, memory fetches are something like 15% slower.
Second, a swapped-out page must be brought back from disk, forcing the
DOS emulator to wait while this happens.

What do you get in exchange for these losses?  Additional UNIX
functionality in parallel with DOS functionality.  Multiple DOS
emulations on one machine.  Multiuser capability.  And greater
apparent memory than physical memory.  A lot of people think that the
losses are not as great as the gains.  I agree.

Something to remember is that the DOS emulator is probably spending
most of its time in read-loops, so each DOS emulator is basically a
CPU-bound process, eating up quite a bit of resources.  There are some
ways that the VP/ix writers could have reduced this, and they may have
-- I don't know for sure, but it's something to think about
nonetheless.

jim frost
software tool & die
madd@std.com