キャッシュ
neoEBV によって初めて表示されたファイルは次回以降高速に表示されます。これは neoEBV のキャッシュ機能によるものです。neoEBV はキャッシュファイルを作成してファイルの入力と表示を高速化します。 現在キャッシュ機能を利用できる入力フォーマットは以下のフォーマットです。
-
OASIS, OASIS.MASK, OASIS.CL (SEMI P49)
-
GDSII (
--gds-use-mt-index=on
のときのみ)
キャッシュ機能の使い方
neoEBV はデフォルトでキャッシュ機能を使用します。キャッシュファイルを使った高速表示を無効にするには --ignore-cache
オプションを指定して neoEBV を起動する必要があります。
$ nebv --ignore-cache=on ...
キャッシュファイルの名前と置き場所
初めて入力したファイルに対してキャッシュファイルを作成します。ファイル名は <入力ファイル名>.ebvc<キャッシュバージョン> となります。
ファイルの置き場所はデフォルトで入力ファイルと同じディレクトリになります。キャッシュファイルは --ignore-cache
オプションの設定に関わらず作成されます。
キャッシュファイルの出力先を指定
--use-cache-dir
オプションを指定することでキャッシュ出力用ディレクトリにキャッシュファイルを出力することが可能です。デフォルトで ${EBV_CONFIG_DIR}/cache
ディレクトリになります。
--cache-dir
オプションで出力先を指定することも可能です。
キャッシュファイル出力先ディレクトリを指定した場合、キャッシュファイル名は <入力ファイル名>.ebvc<キャッシュバージョン>.<フォーマット名>.<連番> となります。
キャッシュファイル検索の順番
キャッシュファイルは以下の順で検索されます。
--cache-dir
で指定されたキャッシュディレクトリ (--use-cache-dir
オプション有効時)- 入力ファイルと同じディレクトリ (
--use-cache-dir
の設定に関わらず検索されます)
キャッシュファイルバージョンについて
キャッシュバージョンはキャッシュファイルの内部フォーマットに変更があった場合に変更されます。そのため、フォーマットごとに異なります。
- キャッシュファイルが存在しない場合は、neoEBV は最新のバージョンでキャッシュファイルを作成します。
- 複数バージョンのキャッシュファイルが存在する場合は、最新のキャッシュファイルを読み込みます。
サポートバージョン
neoEBV は以下のバージョンのキャッシュファイルをサポートしています neoEBV はサポート外のキャッシュファイルを読み込まず、最新のバージョンでキャッシュファイルを作成します。
Format | Versions | |
---|---|---|
OASIS | 4, 5, 6 | |
OASIS.MASK | 3, 4 | |
OASIS.CL (SEMI P49) | 1, 2 | |
GDSII | 1, 2 |
キャッシュファイル再作成の条件
入力ファイルの更新時刻、ハッシュ値、ファイルサイズをチェックして、不一致があればキャッシュファイルの再作成を行います。各項目のチェック方式等はオプションで制御することができます。
更新時刻のチェック方式
$ nebv --cache-check-mtime=[ignore|birth|current] /path/to/data
- ignore
- 入力ファイルの更新時刻をチェックしません。
- birth
- 入力ファイルと、キャッシュファイルの現在の更新時刻を比較して、キャッシュファイルの方が古ければキャッシュファイル再作成を行います。
- current
- 入力ファイルのキャッシュファイル生成時の更新時刻と、入力ファイルの現在の更新時刻を比較して、入力ファイルが更新されていればキャッシュファイル再作成を行います。
ハッシュ値のタイプ
$ nebv --cache-hash-type=[none|full|partial] /path/to/data
- none
- キャッシュファイルにハッシュ値を埋め込みません。
- full
- 入力ファイル全体からハッシュ値を計算してキャッシュファイルに埋め込みます。ファイル内容更新の検出は正確になりますが、入力ファイル全体を読み込むので、ファイルサイズが大きい場合は時間がかかります。
- partial
- 入力ファイルの一部からハッシュ値を計算してキャッシュファイルに埋め込みます。
ハッシュ値のチェック
$ nebv --cache-check-hash=[on|off] /path/to/data
- on
- 入力ファイルのハッシュ値を計算して、キャッシュファイルに埋め込まれたハッシュ値と比較して、一致しない場合はキャッシュファイル再作成を行います。なお、キャッシュファイルにハッシュ値が埋め込まれていない場合は、ハッシュ値の比較は行われません。
- off
- ハッシュ値のチェックを行いません。
ファイルサイズのチェック
$ nebv --cache-check-fsize=[on|off] /path/to/data
- on
- キャッシュファイル作成時の入力ファイルのファイルサイズと、現在の入力ファイルのファイルサイズを比較して、一致しない場合はキャッシュファイルの再作成を行います。
- off
- ファイルサイズのチェックを行いません。
キャッシュファイルの削除
キャッシュが削除されるケースは以下の 3 つがあります。
- 有効期限を経過
- キャッシュディレクトリの最大サイズを超過
- 同一ファイル名でのキャッシュファイルの再作成
1. 有効期限を経過
起動時に --cache-day
で指定した日数を経過したキャッシュファイルを削除します。
--cache-day
はキャッシュディレクトリを指定している場合のみ有効です。
2. キャッシュディレクトリの最大サイズを超過
起動時にキャッシュディレクトリの使用容量が --cache-size
で指定した最大サイズを超える場合は、古いキャッシュファイルから順に削除します。
新しく作成されたキャッシュファイルは --cache-size
の上限を超えていた場合も保存されます。
--cache-size
はキャッシュディレクトリを指定している場合のみ有効です。
3. 同一ファイル名でのキャッシュファイルの再作成
キャッシュディレクトリを指定している場合、同一ファイル名のキャッシュファイルはキャッシュディレクトリにつき 3 つまで保存し、古いものから順に削除します。 キャッシュディレクトリを指定していない場合は、古いキャッシュファイルは上書きされます。
キャッシュファイルと設定
プリファレンスからキャッシュファイルに関わるパラメータを変更することができます。詳しくはプリファレンス Action/Openページをご覧ください。