Previous: Windows Installation, Up: Installation


1.3 Optional Configuration

As distributed, Scheme contains several large files. You might not need all of them, so this section will tell you what each is for so that you can decide if you want to delete some of them. Also, we will discuss the two different Scheme executables, which are each useful in different situations; you should read this to decide which is right for you.

The Scheme runtime environment and associated tools are normally stored in bands, which are large memory images stored in files (see World Images). Scheme requires at least one band to work properly. The Scheme distribution includes two bands. These bands are stored in the lib/mit-scheme directory on unix systems, and the lib directory on PC systems.

runtime.com
The is the basic world image, and the smallest. It contains just the runtime files. This is the band that is chosen when Scheme is invoked with no special command-line options.
all.com
This contains the runtime files, the native-code compiler, and Edwin. This band is chosen when either the --compiler or --edwin command-line options are supplied.

Depending on your needs, you may not need both of these files. For example, if you always want the full development environment, you might keep all.com and delete runtime.com. Remember that you must keep at least one of these files to use Scheme.

In addition to bands, Scheme is distributed with two executable programs: scheme (called scheme.exe on PC systems), and bchscheme (called bchschem.exe on PC systems). Normally you will need only one of these files.

The only difference between these two programs is in how they handle garbage collection. scheme allocates two memory heaps, and copies objects between the heaps to preserve them. This means that most of the time the other heap is occupying valuable memory but doesn't hold any interesting data. bchscheme allocates only one memory heap, creates a disk file during garbage collection, copies objects into the file, then copies them back into memory.

These programs provide you with some important performance trade-offs. If you have plenty of memory and want the best performance, use scheme. If you don't have enough memory, or if you want to use less memory and will accept slower performance, use bchscheme. One way to tell that you don't have enough memory is to run scheme for a while and see if your machine is paging during garbage collection.

You might consider trying to use scheme and letting the operating system's paging handle the lack of RAM. But usually you will find that using bchscheme without paging is much faster than using scheme with paging. Of course, if you are using bchscheme and you're still paging, the best solution is to install more RAM.