Java porting of Darts (Double ARray Trie System)
Taku Kudo さんの Double Array Trie の C++ 実装 (1) を MURAWAKI Yugo さんが Java ポーティングしたバージョン (2) に対して、 より Java らしいインタフェースに変更し、また性能面も改善した Darts の Java 実装です。
DoubleArrayTrie.java を単品でご利用ください(実装はこのファイル一つで完結しています)。
Ubuntu 12 の /usr/share/dict/words (916 KB、99171 語) をテストデータとして利用しています。
original imploved ==================================================== ヒープ消費量 [byte] 62,287,864 16,780,160 ---------------------------------------------------- build() [msec] 165.68 64.26 (標準偏差) (82.87) (6.74) ---------------------------------------------------- exactMatchSearch() [msec] 10.88 6.24 (標準偏差) (7.21) (7.73) ---------------------------------------------------- commonPrefixSearch() [msec] 17.18 14.04 (標準偏差) (4.68) (4.75) ----------------------------------------------------
LGPL と修正 BSD のデュアルライセンスです。 各ライセンスの詳細は LGPL ファイル、BSD ファイルをご覧ください。