Eclipse は、大規模なプロジェクト全体で、あるフレーズ (正規表現のフレーズでさえも) に一致するすべてのものを驚くほど高速に検索します。
java.util.regex
彼らは内部的に使用していますか?
検索が遅すぎるため、検索エンジンでインデックスを作成していないと思いますが、Eclipseを起動した後に最初に検索を行うと、多少の遅延が発生します。
Eclipse Helios (3.6) には、2.2 というラベルの付いた Eclipse PDT の改良版が含まれています。現在の Zend Studio (7.1 以降) にも含まれています。他の拡張機能の中でも特に、参照の検索、型階層の作成、さらにはコード補完など、コード検索関連のタスクのパフォーマンスが大幅に向上しました。これは、このデータの永続ストレージとして h2 データベース エンジンを使用する nWire に触発された新しい設計によるものです。
h2 データベースは、広く使用されている HSQLDB の後継として作成された、高性能でロー プロファイルの Java ネイティブ データベース エンジンです。オープンソースであり、無料で使用できます。nWire は初期の頃から h2 を使用しています。
ソース: http://www.nwiresoftware.com/blogs/nwire/2010/09/five-tips-speeding-eclipse-pdt-and-nwire
つまり、Eclipse がh2データベース エンジンを利用しているため、これらの改善が見られているようです。
次に、もう少し深く掘り下げると、H2 ソース コードの場合の簡単なサンプルを次に示します。彼らが活用しているように見えますjava.util.regex
:
20 import java.util.regex.Matcher;
21 import java.util.regex.Pattern;