|
Command
QisLib_SetUseMemoryMaps
Function:
int QisLib_SetUseMemoryMaps(int pOnOff);
Inputs:
On/Off: _QIS_ON (On) or _QIS_OFF (Off)
Return:
success: 0
failure: one of the following values :
Errors:
-1: File open in progress, operation not permitted.
Description:
- Memory maps are disk images of the QisLib internal database in the memory when a
GDSII file is opened. Normally, QisLib creates this database directly in the memory
while opening a GDSII file. However in cases when the user needs to re-open the
same GDSII file more than once without much change in the global QisLib settings,
it may be beneficial to save the database directly to disk so that it can be read
in directly, next time the GDSII file is opened. Use of memory maps for opening a
GDSII file results in much faster file open especially for bigger files.
- This function instructs the QisLib to use (On) or not use (Off) memory maps while
opening a GDSII file using QisLib_OpenGDSII.
- By default, this setting is off.
- This function is used for GDSII files only, it does nothing for OASIS.
- If this function is set to on, during QisLib_OpenGDSII, QisLib will attempt to read
the database from the memory map files instead of recreating the database from
reading the original GDSII file. It will look for the memory map files in the
directory set by QisLib_SetMemoryMapsDir or the startup directory (default).
- If the memory map files are absent or have incompatible characteristics (version,
load in memory, load empty cell references etc.), it will start reading in the
original GDSII file as if QisLib_SetUseMemoryMaps was set to off. In either of the
above cases, no error message or warning is issued by this function. Refer to
QisLib_OpenGDSII for possible warnings and errors related to usage of memory maps.
- For this function to be effective, the memory map file names are significant and
should not be changed.
- Refer to QisLib_SetCreateMemory maps for the following:
1. List of global function affecting the creation and use of memory maps.
2. Memory maps file naming comvention.
- The correct sequence of calls to use existing memory maps is:
QisLib_SetMemoryMapsDir("..."); // Optional
QisLib_SetUseMemoryMaps(_QIS_ON);
QisLib_OpenGDSII("...");
References:QisLib_SetCreateMemoryMaps QisLib_SetMemoryMapsDir QisLib_OpenGDSII Global Settings that affect using memory maps: QisLib_SetLoadMemory QisLib_SetLoadEmptyRef QisLib_SetInputLayerMap |