Regex.CacheSize プロパティ コンパイルされた正規表現の現在の静的キャッシュ内のエントリの最大数を取得または設定します。
Regex クラスは、静的メソッド呼び出しで使用されるコンパイル済み正規表現の内部キャッシュを維持します。set 操作で指定された値が現在の >cache サイズより小さい場合、キャッシュ エントリはキャッシュ サイズが指定された >value と等しくなるまで破棄されます。
デフォルトでは、キャッシュは 15 個のコンパイル済み静的正規表現を保持します。通常、アプリケーションはキャッシュのサイズを変更する必要はありません。CacheSize プロパティは、キャッシュをオフにする場合、またはキャッシュが異常に大きい場合にのみ使用してください。
そのため、キャッシュ内の現在の式の数を把握したいと思います。それが可能かどうか/どのように可能か知っている人はいますか?
現在、それらのうちの 15 個未満を再利用するという考えなので、をいじりたくないのですがCacheSize
、ある時点で実際のキャッシュ使用量をチェックして、最大値に達した場合にログに記録できるようにしたいと考えています (正規表現の使用量が拡大するにつれて)。または動的に調整しCacheSize
ます。
CacheSize
あるいは、任意の大きな数に単純に増やすことのオーバーヘッドに関するコメントはありますか?