2002-07-14

Optimizing your computer

SPEED!

I would like to share what I have found in my 27 years of trying to get the most speed from my computers.

1. First define your needs. What programs do you REALLY use and want to run the fastest?

2. Keep a notebook! You may want to use it to go back to a previous configuration, or set up another machine in a similar manner.

3. Do not use benchmarks. They are not accurate by their own admission. I got one machine running the best it ever had by far, but the benchmark was poor, so I set it for the fastest bench and it became a dog (and I didn't make notes).

4. Assemble a collection of utilities for tweaking performance. Almost all are available free on the Internet.

I recommend starting with reformatting the hard drive, preferably low level if you are familiar with the operation.

Partition the drive if there is room. A boot partition that is smaller (say, 128Meg.) may give better speed.

Format the HD and install the operating system of your choice. Don't be afraid to experiment. Check to make sure ALL the accessories (floppy, mouse, CD-ROM, PCMCIA cards etc.) are functioning. If something is not working (that was working) it indicates a serious incompatibility that needs to be corrected, but it is usually something simple.

Install your favorite software and make sure it is working. Freedos is the fastest on one of my IBM notebooks and gives me by far the most usable memory.

Make a boot disk and copy AUTOEXEC.BAT and CONFIG.SYS to the floppy. Many of the things you will be trying will crash your machine.

All machines are not created equal, not even the same model! This is because there are chip variations that are used in production. What works on one machine may not work on a seemingly identical machine.

Our poor-man's benchmark is the clock on the wall. Set the machine to start your favorite software upon starting. If your primary concern is Internet speed, then set it up to start the browser and connect to the Internet. Write down the time it takes to load and connect. For instance, I can start my machine, check my e-mail, and exit in 32 seconds.

CACHE

Most machines have a built in hardware cache on the motherboard. Operating systems have software cache provisions. Older machines have provisions for setting up the hardware cache, dram refresh rate and a long list of other options to play with. Change only thing one at a time, then check your load time. If it is running faster, then check to make sure all your hardware is functioning. Make notes!

Software caching has a multitude of options. Read the configuration setup docs. Experiment with two, or even three different brands of cache at the same time, but only make ONE change at a time. There are many caches available, some not worth downloading, others very good. I have found CACHE2.EXE (Simtel) works well for me with Freedos.

You may find performance has improved dramatically, but all system resources have been used. In one case, I was able to get blazing speed on the Internet, but the floppy drive quit working. In cases such as this, compromise, or use a multi-boot option.

Other areas to play with are cluster size, buffer sizes, HD interleave. If most of the files to be loaded are small, some speed can be gained with smaller clusters.

DEFRAG

I have found it is best to just defrag the files, rather than use full file reorganization. Defraging with full file reorder has increased my load time from 10 seconds to 15 seconds. A method that usually works well is to move the entire contents of the drive to another (erasing them in the process), then copy everything back. This organizes things the way the HD likes. It writes them back pretty much the way it reads them. For instance, the drive may not have time to read the next sector, so it has to make another revolution of the disk. When you copy the files back from another other drive or partition, it (hopefully) skipped a sector. The time to skip a sector may be only a fraction of that required for a complete revolution. Norton speed disk showed a nice, neat pattern of columns where it had skipped sectors.

Use your hearing. If the hard drive is making a racket moving the head back and forth, it is time to defrag. If it STILL has to move the head a lot, you might want to try changing the cache parameters, or a different cluster size. Generally, when I have the fastest setup, the hard drive is the quietest.

RAMDRIVE

Ramdrive will likely give you your greatest performance increase. If you have enough system memory, set up a ramdrive large enough to run you web browser. I have only found one ramdrive that caches, though, and that is COMBI.SYS available from SIMTEL.NET. However, I have only been able to run it on MS-DOS 3.3 and MS-DOS 5.0 and it was not very stable. I am hoping someone will develop a similar scheme for Freedos.

Set AUTOEXEC to make a TEMP directory in ramdrive and set temp in AUTOEXEC to the ramdrive.

CONFIG note: set lastdrive to the last drive rather than "Z". It may keep the machine from looking for non-existent drives.

Arachne web browser was designed to run entirely from ramdrive if so desired. You may get good result running other apps from the ramdrive if they are small enough in size.

Try running COMMAND.COM from ramdrive, especially if there are lots of disk operations.

COMPRESSION

There are two ways to go here. Compression utilities are available that compress .EXE and .COM files, yet they are still executable directly. Second, speed might be gained by running your apps from a compressed partition of your hard drive.

If it takes time to decompress the file, how can it run faster? When the HD has to read more sectors, it takes longer. Smaller files take less time to load and are somewhat more likely to match cluster size. Some time is lost in the decompression process, but this is done electronically at very high speed in memory, and the time lost is more than made up by reducing hard drive read time, which is mechanical. Experiment with different compression software and perhaps compressed files on a compressed drive.

The compression utils state that they are incapable of compressing COMMAND.COM files, yet I have done this to gain a little speed on HD operations.

DELETE

Remove anything that is not needed, including unnecessary folders. The more junk the computer has to sift through, the slower it runs. Also, try to keep your directory tree uncomplicated. Packaged software usually include a great deal of unnecessary files that can be removed.

VIDEO

Experiment with video speed enhancers. Two of my favorites are QCRT and ZENO174 (from Simtel). Benchmarks are available; but again, your best method of benching is to time your applications.

ARCHIVES

The Internet is crammed with bloatware! There is plenty of wonderful new apps for for DOS, but search for older software that may perform as well or even better than the new stuff. For example, I use Acrobat reader 1.0 that fits on two floppies. It still reads most files.

Word 5.5 for DOS is, or was, available for download from Microsoft. It fits on three floppies and works as well as newer versions, but faster and more reliable.

MIX and MATCH

It is amazing how many things are interchangeable, such as COMMAND.COM from another OS. Of course, it is equally amazing how many things are NOT compatible that are supposed to be. This is not necessarily a shortcoming of the software, since machines vary considerably. I have an original copy of MS-DOS 3.3 that tells me I am try to run SHARE.EXE on the wrong DOS version. On the other hand, many files from DR-DOS run on Freedos when MS files won't.

I think I can guarantee that Freedos will continue to get better, while everything else gets worse.

RUNS GREAT

Make a boot disk!


All of this is a little like building a race car, with the overall result being more than the sum of the components.

Bill Weller
ufotech@mail.com


Eric Auer adds:

cache2 : see lbacache

defrag : see defragr (pc-mag, fat16 only)

ramdrive : does not need caching! probably combi.sys is something that shares a memory pool for a disk cache and a ram disk. tdsk and (forgot the name) would be the freedos-included choice

compression : GPLed UPX utility can handle lots of formats and platforms, pretty cool to compress your binaries with. Has an -8086 option. Not to forget: recent FreeDOS kernels are UPXed too, cool!

delete : not really true. But keep your PATH short.

video : I have some small and very effective "do the most important things of ZENO" thing, written by myself ages ago. If anybody wants it...

lbacache does need XMS and a 386, while cache2 runs in DOS RAM (I guess loadhi is okay). cache2 runs on an 8086 but can only cache single sector accesses and the cache size is quite limited. cache2 is very small, however.

oh yeah, if you did not notice: This is a blatant lbacache ad, along with a list of FreeDOS included replacements for the mentioned 3rd party drivers. Addon: Do not play with interleave on newer hard disks, completely pointless there. For an high complexity cache which can even delay/pool writes and probably cache CD-ROMs, try the DR nwcache (not GPLed, of course, but free for noncommerxcial use).

oops, I think Bill mixed up RAM cache (bit of fast RAM to cover the fact that the big system RAM is slower) and DISK cache (RAM to keep disk contents for fast access) into one story.

-Eric

Eric Auer adds (11 May 2004):

PCMCIA not working is no surprise with FreeDOS, so you will need 3rd party drivers for now.

CACHE2 is probably only for small disks? (HD interleave is no topic at all anymore.) In todays harddisks, it is more interesting to get a config tool from the harddisk manufacturer homepage and tune the settings of the builtin cache of the harddisk.

LBACACHE now comes with the companion tools TICKLE for floppy read-ahead and CDRCACHE for CD-ROM caching.

DEFRAG is now more or less working, so you do not always have to revert to DEFRAGR. But be careful and have backups.

RAMDRIVES can be incompatible to some protected mode software. When in doubt, try without. XMSDSK is a nice ramdrive (on simtel.net, in a zip together with EMSDSK)

COMMAND.COM XMS swap probably obsoletes "command in ramdrive" suggestion.

COMPRESSION: UPX switch is --8086, not -8086. And FreeDOS has no compressed filesystem yet.

QCRT, ZENO174 and my TURBO3 have no effect on FreeDOS, it already uses fast TTY and NANSI makes that even faster. As opposed to ANSI which makes things slower.