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
- The cache directory specified by
--cache-dir
(when--use-cache-dir
option is enabled). - 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 | |
---|---|---|
OASIS | 4, 5, 6 | |
OASIS.MASK | 3, 4 | |
OASIS.CL (SEMI P49) | 1, 2 | |
GDSII | 1, 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
- expiration date has lapsed
- the maximum size of the cache directory is exceeded
- 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.