Remove unnecessary caching.

Change-Id: Ic4ccab9d344b30b72fca1503827eec1c628fa4ac
main
Yuichiro Hanada 2013-08-16 17:10:45 +09:00
parent ad4c90934b
commit 6e26cc3f5d
1 changed files with 0 additions and 12 deletions

View File

@ -430,12 +430,6 @@ public final class BinaryDictDecoder {
} }
} }
// The word cache here is a stopgap bandaid to help the catastrophic performance
// of this method. Since it performs direct, unbuffered random access to the file and
// may be called hundreds of thousands of times, the resulting performance is not
// reasonable without some kind of cache. Thus:
private static TreeMap<Integer, WeightedString> wordCache =
new TreeMap<Integer, WeightedString>();
/** /**
* Finds, as a string, the word at the address passed as an argument. * Finds, as a string, the word at the address passed as an argument.
* *
@ -448,9 +442,6 @@ public final class BinaryDictDecoder {
/* package for tests */ static WeightedString getWordAtAddress( /* package for tests */ static WeightedString getWordAtAddress(
final FusionDictionaryBufferInterface buffer, final int headerSize, final int address, final FusionDictionaryBufferInterface buffer, final int headerSize, final int address,
final FormatOptions formatOptions) { final FormatOptions formatOptions) {
final WeightedString cachedString = wordCache.get(address);
if (null != cachedString) return cachedString;
final WeightedString result; final WeightedString result;
final int originalPointer = buffer.position(); final int originalPointer = buffer.position();
buffer.position(address); buffer.position(address);
@ -462,7 +453,6 @@ public final class BinaryDictDecoder {
formatOptions); formatOptions);
} }
wordCache.put(address, result);
buffer.position(originalPointer); buffer.position(originalPointer);
return result; return result;
} }
@ -720,8 +710,6 @@ public final class BinaryDictDecoder {
public static FusionDictionary readDictionaryBinary(final BinaryDictReader reader, public static FusionDictionary readDictionaryBinary(final BinaryDictReader reader,
final FusionDictionary dict) throws FileNotFoundException, IOException, final FusionDictionary dict) throws FileNotFoundException, IOException,
UnsupportedFormatException { UnsupportedFormatException {
// clear cache
wordCache.clear();
// if the buffer has not been opened, open the buffer with bytebuffer. // if the buffer has not been opened, open the buffer with bytebuffer.
if (reader.getBuffer() == null) reader.openBuffer( if (reader.getBuffer() == null) reader.openBuffer(