Cache

About the neoEBV cache

neoEBV may take some time to load a file for the first time, but it will be displayed faster the next time. This is due to the caching feature of neoEBV. neoEBV creates a cache file to speed up the input and display of files. The cache function currently supports the following formats:

  • OASIS, OASIS.MASK, OASIS.CL (SEMI P49)

  • GDSII (only when --gds-use-mt-index=on is specified)

How to Use the Cache Feature

neoEBV uses the cache feature by default. To disable fast display using cache files, you need to start neoEBV with the --ignore-cache option.

$ nebv --ignore-cache=on ...

Name and Location of the Cache File

The cache file is created for an input file upon first load. Its file name is <input file name>.ebvc<cache version>. It is placed in the same directory as the input file by default. It is created regardless of the --ignore-cache option setting.

Specify the Output Destination of the Cache File

The --use-cache-dir option can be specifed to output the cache files to a single directory. The default directory is ${EBV_CONFIG_DIR}/cache. The cache file directory can be changed using --cache-dir option. If usage of cache file directory is specified, the cache file name format becomes <input file name>.ebvc<cache version>.<format name>.<sequential number>.

Cache File Search Order

Cache files are searched in the following order

  1. The cache directory specified by --cache-dir (when --use-cache-dir option is enabled).
  2. Same directory as input file (searched regardless of --use-cache-dir setting).

About Cache File Version

The cache version changes when there is a change in the internal format of the cache file. Therefore, it is different for each format.

  • If the cache file does not exist, neoEBV will create a cache file with the latest version.
  • If multiple versions of the cache file exist, the cache file with the latest version will be loaded.

Supported Version

neoEBV supports the following versions of cache files. neoEBV does not load a cache file with an unsupported versions, but creates a cache file with the latest version.

Format Versions
OASIS4, 5, 6
OASIS.MASK3, 4
OASIS.CL (SEMI P49)1, 2
GDSII1, 2

Conditions for Re-creating Cache Files

neoEBV checks the modified time, hash value, and file size of the input file, and recreates the cache file if there is any mismatch. The check method of each item can be controlled with options.

Checking Method of Update Time

$ nebv --cache-check-mtime=[ignore|birth|current] /path/to/data 
ignore
Do not check the modified time of the input file.
birth
Compares the modified time of the input file with the cache file. If the cache file is older, the cache file is recreated.
current
Compares the modified time of the input file at cache file creation, with the current modified time of the input file, and recreates the cache file if the input file has been modified.

Hash Value Type

$ nebv --cache-hash-type=[none|full|partial] /path/to/data 
none
Do not embed hash values in cache files.
full
Calculates a hash value from the entire input file and embeds it in the cache file. The detection of file content updates will be more accurate, but since the entire input file is read, it will take longer if the file size is large.
partial
Computes a hash value from part of the input file and embeds it in the cache file.

Checking the Hash Value

$ nebv --cache-check-hash=[on|off] /path/to/data 
on
Computes the hash value of the input file, compares it with the hash value embedded in the cache file, and recreates the cache file if they do not match. If the hash value is not embedded in the cache file, the hash value comparison is not performed.
off
Do not check hash value.

Check File Size

$ nebv --cache-check-fsize=[on|off] /path/to/data 
on
Compares the file size of the input file at cache file creation with the current file size of the input file, and recreates the cache file if they do not match.
off
Does not check the file size.

Delete Cache Files

There are three cases in which the cache is deleted

  1. expiration date has lapsed
  2. the maximum size of the cache directory is exceeded
  3. re-creating a cache file with the same file name

1. expiration date has lapsed

Cache files that are older than the number of days specified by --cache-day are removed on startup. --cache-day is only valid if you specify a cache directory.

2. the maximum size of cache directory exceeded

If the size of the cache directory exceeds the maximum size specified by --cache-size at startup, the oldest cache files are removed first. Newly created cache files will be saved even if the --cache-size limit is exceeded. --cache-size is only valid if you specify a cache directory.

3. re-creating a cache file with the same file name

If a cache directory is specified, up to three cache files with the same file name will be saved per cache directory, and oldest one is removed first when the number exceeds three. If you do not specify a cache directory, the old cache files will be overwritten.

Cache Files and Settings

You can change the parameters related to the cache file in Preference. See preference Action/Openpage for detail.

Last modified February 13, 2025