KB#00122-Slow performance with DOS/Novell 386 products
Slow performance with DOS/Novell 386 products
The 386 products can run slower than their 286 counterparts, because of the overhead when doing I/O operations. The 386 product runs in protected mode, so has to change to real mode to do any BIOS calls. After the I/O to the disk or screen has been completed, it has to switch modes again. This swapping of memory modes takes a finite amount of time and can affect performance. This overhead is more noticeable on slower processor machines--a 386 SX, for example.
We ran a couple of very heavy file I/O tests in single user mode with different BBx's under different operating system configurations. Here are the results:
1.00 - 1003, NW Drivers loaded low, 515kb mem free
1.10 - 1053, NW Drivers loaded low, 515kb mem free
2.02 - 1003, NW Drivers loaded high, 606kb mem free
2.72 - 1053, NW Drivers loaded high, 606kb mem free
Note that all tests run faster with the Network Drivers (NETX or VLM) loaded into conventional memory. However, this would normally take up far too much memory to be considered feasible without the 386 product (VLM takes up about 90kb!). Therefore, you would normally compare #2 and #3. So, if you originally had to load your Network Drivers high to free up enough conventional memory to run BBx, the 386 version would allow you to load them low. In this case, the 386 product would be almost twice as fast!
Guidelines for speed:
1) For improved screen I/O, add the DMA mode to the terminal alias line. This way, BBx will access the video memory directly, resulting in much faster reads and writes to the screen. In our tests, screen I/O time was cut in half.
alias T0 /dev/con doscon
alias T0 /dev/con doscon dma
2) Load Network drivers low:
a) Use VLM /MC to force the VLMs to load in conventional memory.
b) Load the disk IO module in conventional memory, with the rest loaded high (vastly preferred!). Enter the line:
LOAD LOW REDIR = ON
under the DOS requester section of net.cfg in the workstation's Novell directory.
3) Run the product under DOS, not in a DOS session under Windows. Windows tends to make everything run slower. Screen I/O under Windows will be noticeably slower if the system is busy, the app is running in a windowed DOS session, multiple applications are competing for cpu time, etc. Windows also adds yet another layer between BBx and the memory that it is addressing. If you have to run under Windows, then use a PIF file where the foreground priority is cranked way up.
4) Not too feasible, but don't use a memory manager if you can help it. This way BBx would access upper memory directly, but you couldn't run Windows in enhanced mode, load DOS or other drivers high, etc. But, BBx will run much faster, as much as twice as fast, when a memory manager is not present.
Last Modified: 01/28/1998 Product: PRO/5 Operating System: MS Dos, Novell, Windows
BASIS structures five components of their technology into the BBx Generations.