Move correction state to stack memory
*Before
(0) 13.18 (0.01%)
(1) 93025.41 (62.06%)
(2) 10.75 (0.01%)
(3) 10.50 (0.01%)
(4) 117.50 (0.08%)
(5) 55678.98 (37.14%)
(6) 9.09 (0.01%)
(20) 883.84 (0.59%)
Total 149898.24 (sum of others 149749.25)
*After
(0) 17.41 (0.01%)
(1) 92673.41 (61.95%)
(2) 10.62 (0.01%)
(3) 10.37 (0.01%)
(4) 120.96 (0.08%)
(5) 55741.18 (37.26%)
(6) 11.01 (0.01%)
(20) 862.72 (0.58%)
Total 149595.52 (sum of others 149447.68)
Change-Id: Ia5a25a544fc388e4dab1e08d8f78d5117b249cf3
diff --git a/native/jni/src/dictionary.h b/native/jni/src/dictionary.h
index 9f23679..d3512a2 100644
--- a/native/jni/src/dictionary.h
+++ b/native/jni/src/dictionary.h
@@ -21,7 +21,6 @@
#include "bigram_dictionary.h"
#include "char_utils.h"
-#include "correction.h"
#include "defines.h"
#include "proximity_info.h"
#include "unigram_dictionary.h"
@@ -42,7 +41,7 @@
mBigramDictionary->fillBigramAddressToFrequencyMapAndFilter(prevWordChars,
prevWordLength, &bigramMap, bigramFilter);
return mUnigramDictionary->getSuggestions(proximityInfo, mWordsPriorityQueuePool,
- mCorrection, xcoordinates, ycoordinates, codes, codesSize, &bigramMap,
+ xcoordinates, ycoordinates, codes, codesSize, &bigramMap,
bigramFilter, useFullEditDistance, outWords, frequencies);
}
@@ -65,6 +64,7 @@
static int wideStrLen(unsigned short *str);
private:
+ DISALLOW_IMPLICIT_CONSTRUCTORS(Dictionary);
const unsigned char *mDict;
// Used only for the mmap version of dictionary loading, but we use these as dummy variables
@@ -73,10 +73,9 @@
const int mMmapFd;
const int mDictBufAdjust;
- UnigramDictionary *mUnigramDictionary;
+ const UnigramDictionary *mUnigramDictionary;
BigramDictionary *mBigramDictionary;
WordsPriorityQueuePool *mWordsPriorityQueuePool;
- Correction *mCorrection;
};
// public static utility methods