If the contents of all files that an application requires at any given time could be stored in memory, response time would be very rapid. Using main memory is much quicker than using disk input/output (I/O) because the time required to access files from disk is much greater than that required to access them from memory. In practice, however, it is impossible to keep everything in memory, especially if a database contains millions of records.
Much of the data used by an application must therefore be transferred continually between memory and disk during an application session. The disk I/O includes the data stored in the database, database definitions, screen definitions, and application programs.
Zim's configuration files control how each class of data is transferred between disk and memory. The particular configuration options that control the four classes of data are show in the table below.
| Classes of Data | Configuration Options |
| Data in the database | buffers, files, sort buffers |
| Database definitions | buffers, files descriptors |
| Screen definitions | maximum forms |
| Application programs | runtime buffers, files |
Each configuration option can be adjusted to a higher or lower value, affecting the use of memory by the application and also the speed of operation. The effect of option on performance is discussed in topics in this section.
The file statistics configuration option should be set to yes as an aid in determining optimal values for the memory tuning parameters. File statistics provides a good indication of the effectiveness of database buffering by recording the number of logical and physical I/O operations for all block-oriented files used during a session. The smaller the ratio of physical I/O operations to logical I/O operations, the more effective the database buffering.
The file statistics configuration option also records file openings and closings, providing a good indication if the files parameter is sufficiently high.
The file statistics configuration option incurs little performance overhead. It creates a text file ZIMSTATS in the work directory belonging to the application user.