Refactor SystemDictionary::LookupPredictive using new LoudsTrie::Node APIs

In the previous implementation, LookupPredictive was implemented by DFS and some short key list management to emulate BFS because it was difficult to implement BFS due to LOUDS trie implementation.  This CL implements BFS using a new LOUDS trie APIs.  The resulting code is simpler and more efficient.

Benchmark shows significant performance improvement for suggestion and prediction.  For example, observed 1.2x and 1.4x speed up for mobile one character prediction and suggestion, respectively.  Note also that this is just a code refactoring, no user-visible behavior change is intended.

BUG=none
TEST=unittest,benchmark

git-svn-id: https://mozc.googlecode.com/svn/trunk@526 a6090854-d499-a067-5803-1114d4e51264
7 files changed
tree: 3139d161e9ede27c40adf2a58c8d04facfc29c5a
  1. src/