INF: Speed Differences Between WIN /3, WIN /2, and WIN /R

ID Number: Q49732

3.00

WINDOWS

Summary:

The following information describes why WIN /3 and WIN /R run slower

than WIN /2.

WIN /3 is slower than WIN /2 because it runs in 80386 protected mode

and virtualizes all devices and I/O operations. WIN /3 also provides

demand-paged virtual memory using the hard disk to swap paged-out RAM;

this feature involves extra validity checking and disk swapping when

page faults occur, which takes some extra time.

WIN /R is slower because it has limited memory space (the 640K maximum

provided by MS-DOS), and therefore, must perform a lot of moving and

discarding of code and data segments when the memory space is

"overcommitted" by the system and running applications.

WIN /2 is fastest because although it runs in the protected mode of

the 80286 and is somewhat slowed down by that, it has MUCH more memory

available for applications to run in; therefore, less moving and

discarding of code and data segments is necessary. The speed gains of

WIN /2 compared to WIN /R depend on how much extended memory is on the

machine and how much is needed by the system and all running

applications. For example, where WIN /R has to discard and move some

segments to make room for a new application to run, WIN /2 simply

allocates more of the global heap, which consists of all available

extended memory.

Some of these factors apply to Windows versions 2.x (2.03, 2.1, 2.11)

as well as Windows version 3.0. For example, Windows/386 versions 2.x

run in protected mode and virtualize devices and I/O, which slows

things down. However, Windows/286 versions 2.x run in real mode and

gain speed from that. On the other hand, Windows/386 versions 2.x

provide Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS)

version 4.0 to applications, which allows more applications to fit in

memory at the same time. However, Windows/286 does not provide its own

EMS memory for applications, instead relying on an already-installed

EMS board or "limulator" to provide it. If the system does not have

any EMS memory, Windows/286 is forced to discard and move memory more

often.