Working with Large Files


The Wolfram Workbench code editor provides a large number of features for Mathematica source files. Some of these features, such as coloring strings and comments, are replicated in a number of text editors that allow for language extensions. But some features cannot be replicated in this way. This includes errors and warning detection, which really need processing of the source file with a full Mathematica parser. It also includes finding definitions and references, which really need an index of every Mathematica source file to be kept up to date.

These operations are potentially expensive in both time and memory, and the Workbench takes a lot of effort to try to avoid problems for users. Many operations are actually run in background threads, so they do not prevent usage of the system. Other features, such as the Mathematica parser, actually run in an incremental fashion. This lets parsing run continuously as you edit the source file.

File Size Limit

In some cases projects contain very large source files. While it is generally good practice to split these up into small units, this is not always possible. To avoid problems from this, the Workbench has a cut-off that treats large files specially. Files above this size are not given all the benefits of the Workbench.

The cut-off size is configured from the Workbench preferences in a panel for special settings. This is found by selecting Window > Preferences > Mathematica, opening the section, and choosing Special. It should appear similar to the following.

Special Preferences

Memory Problems

If you find that the Workbench is reporting memory exhaustion errors, you could try to increase the amount of memory that it uses. Typically this is set in the WolframWorkbench.ini file you find in the Workbench installation folder. A sample is shown below.

WolframWorkbench.ini

Here you can change the maximum memory size that the heap can reach with the -Xmx argument. You can also change the initial heap size with the -Xms argument.