Virtual Memory Capacity

Source Insight uses memory in proportion to the size of your project. If your projects are large, Source Insight will require more memory.

The Win32 programming interface allows programs, like Source Insight, to use much more memory than is physically installed as RAM in your machine. This feature is call virtual memory, because the operating system uses the hard disk to emulate RAM, through a process called paging.

Source Insight uses memory (and hence, virtual memory) in two ways. First is that Source Insight allocates heap and virtual memory, which may come from the system paging file. This is the smaller type of allocation used. Even so, you will need to make sure your system paging file is large enough to hold approximately 2-5 megabytes for every 100,000 symbols declared in your largest project.

Source Insight also makes heavy use of memory-mapped files. This is a Win32 feature whereby files can be “mapped” into virtual address space, so that a file looks like a block of memory to a program. Source Insight uses memory-mapped files to provide the fastest possible access to source files, and database files.

When Source Insight memory-maps a project database file, it will take up a relatively large amount of virtual address space as soon as the file is opened. As Source Insight accesses different records in the database, the operating system will commit increasingly more physical memory to hold the database file contents. The operating system will always keep some memory in reserve for other programs and the system to use.

The size of a project database is proportional to the number of declared symbols in the project. Therefore, if your project is very large, the amount of memory used by Source Insight can be over 100 megabytes. However, you must realize that most of the memory in use, as reported by the Task Manager, or other performance monitoring tools, represents portions of the symbol database mapped into memory. Source Insight does not require this much physical memory.