# 遅延読み込みと完全読み込みの比較

Tisaneの言語モデルには言語に関する広範な情報が含まれているため、RAMに完全に読み込まれると数百メガバイトの容量を要する場合があります。

Tisaneを時々使用する場合や、RAMが限られたデバイスで使用する場合、より良い選択肢は「遅延読み込み」と呼ばれるものです。遅延読み込みモードでは、言語データは必要な場合にのみ読み込まれるため、RAMの消費量が大幅に削減されます。

1. 遅延読み込み（偶発的な使用に推奨）
  - 初期化時に言語モデルの必須部分のみを読み込みます。必要に応じて、全語彙にアクセスできます。
  - 初期化：約1秒
  - 初期クエリのパフォーマンス：  最初の数回の呼び出しでは大幅に遅延し、その後10%〜30%遅延します。
  - メモリ：約20～40MB／言語 + 40～60MBベース
2. 事前読み込み（サーバー／大量データ処理向けで推奨）
  - 起動時に言語モデル全体をRAMに読み込みます（スペルチェック辞書を除く）。
  - 初期化：（SSD搭載の最新のコンピュータで20～40秒）
  - メモリ：約400MB - 2GB／言語 + 40～60MBベース（形態的に複雑な言語ほど、より多くのRAMが必要）。


重要な考慮事項：

* 一部の言語モデルは事前に読み込むことができますが、他の言語モデルは遅延読み込みモードのままにしておくことができます。
* 遅延読み込みを有効にすると、ライブラリまたは`Tisane.Server`インスタンスのライフタイムを通じて無効にすることはできません。
* ご利用のアプリケーションのパフォーマンス要件とリソース制約に最も適した読み込み方法を選択します。


## 遅延読み込みの有効化

デフォルトでは、すべての言語モデルが完全に読み込まれます。遅延読み込みモードを有効にするには、`ActivateLazyLoading`メソッドを使用します（.NETアセンブリは、事前読み込み後にこれを呼び出します）

遅延読み込みモードが有効になると、以降に読み込まれるすべてのモデルは遅延読み込みモードになります。