Command
QisLib_SetCreateMemoryMaps Function: int QisLib_SetCreateMemoryMaps(int OnOff); Inputs: On/Off: _QIS_ON (On) or _QIS_OFF (Off) Return: 0 (always) 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 indirectly, 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 informs QisLib to create scan and load memory map files when a GDSII file is opened using QisLib_OpenGDSII. - This feature works only for GDSII files and is off by default. - Memory maps are created at the end of the normal opening phase of QisLib_OpenGDSII. - Memory maps will be created during QisLib_OpenGDSII if this setting is turned on. However, if the corresponding memory maps for the GDSII file exist and they were opened (instead of the original GDSII file, see QisLib_SetUseMemoryMaps), then the memory maps won't be recreated. - When memory map files are opened directly using QisLib_OpenMemoryMaps, new memory maps are not created even if QisLib_SetCreateMemoryMaps is set to on. - If QisLib_SetLoadMemory is on and QisLib_SetCreateMemoryMaps is on, the GDSII data entities are also saved in the load memory map file. The naming convention uses the word 'load' and 'dbload' to differentiate between load memory map files created with QisLib_SetLoadMemory off and on respectively. - The loading phase of QisLib_OpenGDSII with QisLib_SetCreateMemoryMaps set on will be slower than normal loading. - The memory map file naming convention is as follows: For a GDSII file called demo1.gds, Windows/Linux/X86 Solaris SUN Solaris 32 bit demo1.gds.scan.l32 demo1.gds.scan.b32 SetLoadMemory off demo1.gds.load.l32 demo1.gds.load.b32 SetLoadMemory on demo1.gds.dbload.l32 demo1.gds.dbload.b32 64 bit demo1.gds.scan.l64 demo1.gds.scan.b64 SetLoadMemory off demo1.gds.load.l64 demo1.gds.load.b64 SetLoadMemory on demo1.gds.dbload.l64 demo1.gds.dbload.b64 - The correct sequence of calls for creating memory maps is: For SetLoadMemory off setting: QisLib_SetMemoryMapsDir("..."); // Optional QisLib_SetCreateMemoryMaps(_QIS_ON); QisLib_OpenGDSII("..."); For SetLoadMemory on setting: QisLib_SetMemoryMapsDir("..."); // Optional QisLib_SetLoadMemory(_QIS_ON); QisLib_SetCreateMemoryMaps(_QIS_ON); QisLib_OpenGDSII("...");References: QisLib_SetUseMemoryMaps QisLib_SetMemoryMapsDir QisLib_OpenMemoryMaps QisLib_OpenGDSII Functions that affect the creation of memory maps: QisLib_SetLoadMemory QisLib_SetLoadEmptyRef QisLib_SetInputLayerMap |