From 63d33f42c8a310333544221345aed2bad64a2c0f Mon Sep 17 00:00:00 2001 From: Keisuke Kuroyanagi Date: Tue, 8 Apr 2014 22:56:58 +0900 Subject: [PATCH] Increase terminal cache size for gesture. Before: (0) 670.00 (10.52%) (1) 5530.00 (86.81%) (2) 120.00 (1.88%) Total 6370.00 (sum of others 6320.00) After: (0) 730.00 (11.06%) (1) 5750.00 (87.12%) (2) 100.00 (1.52%) Total 6600.00 (sum of others 6580.00) Bug: 13773693 Bug: 10701902 Bug: 9505397 Change-Id: Ie53640994180a7acabe05da544ab2166403e2394 --- native/jni/src/suggest/core/policy/traversal.h | 1 + native/jni/src/suggest/core/suggest.cpp | 2 +- native/jni/src/suggest/policyimpl/typing/typing_traversal.h | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/native/jni/src/suggest/core/policy/traversal.h b/native/jni/src/suggest/core/policy/traversal.h index d3b8da0cc..8ddaa0514 100644 --- a/native/jni/src/suggest/core/policy/traversal.h +++ b/native/jni/src/suggest/core/policy/traversal.h @@ -45,6 +45,7 @@ class Traversal { virtual float getMaxSpatialDistance() const = 0; virtual int getDefaultExpandDicNodeSize() const = 0; virtual int getMaxCacheSize(const int inputSize) const = 0; + virtual int getTerminalCacheSize() const = 0; virtual bool isPossibleOmissionChildNode(const DicTraverseSession *const traverseSession, const DicNode *const parentDicNode, const DicNode *const dicNode) const = 0; virtual bool isGoodToTraverseNextWord(const DicNode *const dicNode) const = 0; diff --git a/native/jni/src/suggest/core/suggest.cpp b/native/jni/src/suggest/core/suggest.cpp index 433820a42..e675e0bb3 100644 --- a/native/jni/src/suggest/core/suggest.cpp +++ b/native/jni/src/suggest/core/suggest.cpp @@ -88,7 +88,7 @@ void Suggest::initializeSearch(DicTraverseSession *traverseSession) const { } else { // Restart recognition at the root. traverseSession->resetCache(TRAVERSAL->getMaxCacheSize(traverseSession->getInputSize()), - MAX_RESULTS); + TRAVERSAL->getTerminalCacheSize()); // Create a new dic node here DicNode rootNode; DicNodeUtils::initAsRoot(traverseSession->getDictionaryStructurePolicy(), diff --git a/native/jni/src/suggest/policyimpl/typing/typing_traversal.h b/native/jni/src/suggest/policyimpl/typing/typing_traversal.h index 5ba8bfa01..cb3dfac70 100644 --- a/native/jni/src/suggest/policyimpl/typing/typing_traversal.h +++ b/native/jni/src/suggest/policyimpl/typing/typing_traversal.h @@ -146,6 +146,10 @@ class TypingTraversal : public Traversal { : ScoringParams::MAX_CACHE_DIC_NODE_SIZE; } + AK_FORCE_INLINE int getTerminalCacheSize() const { + return MAX_RESULTS; + } + AK_FORCE_INLINE bool isPossibleOmissionChildNode( const DicTraverseSession *const traverseSession, const DicNode *const parentDicNode, const DicNode *const dicNode) const {