Next: Troubleshooting Up: Frequently Asked Questions Previous: Using DrScheme

# Memory and Performance

Does DrScheme really require at least 32 MB of memory?

Yes and no. Although DrScheme starts within 12 MB, using graphics, Help Desk, and other tools increases the amount of Memory DrScheme requires. Most users should find DrScheme usable within 24 MB. However, the total amount of memory needed for DrScheme depends on the kinds of programs the user executes, and we recommend 32 MB in general.

Why does analyzing a program with MrSpidey use even more memory?

MrSpidey is a large program, and it needs a large working memory to calculate the flow of values in a program.

Why is DrScheme so slow at parsing large programs (even compared to PLT's own MzScheme)?

Unlike MzScheme, DrScheme maintains source location information as it parses programs. This information is used to highlight program text for syntax and run-time errors. Partly, the source-correlating parser and compiler is slower than a typical Scheme parser and compiler (such as MzScheme's) because it works harder to maintain location information. Partly, it's slower because DrScheme is implemented as a MzScheme program; MzScheme's parser and compiler are considerably simpler, and can therefore be implemented in a low-level language that executes ten times faster than Scheme programs with our current technology. We are working on Scheme compiler technology that will narrow this gap and speed up DrScheme's parser.

Why do programs run more slowly in DrScheme than in other Scheme implementations (including PLT's own MzScheme)?

Programs run more slowly in DrScheme because DrScheme inserts extra checks into a program to provide information about the location of run-time errors. The MzScheme and MrEd languages (as opposed to MzScheme Debug and MrEd Debug) do not annotate programs in this way.