let LowLevelSearchUtil cache texts by identity: equals is too expensive for long file texts, which are equal but not same (happens when typing a letter and backspacing it)

This commit is contained in:
peter
2016-04-25 20:45:38 +02:00
parent c2409b41ce
commit f86998ba3a
@@ -229,7 +229,8 @@ public class LowLevelSearchUtil {
LOG.error(msg);
}
private static final ConcurrentMap<CharSequence, Map<StringSearcher, int[]>> cache = ContainerUtil.createConcurrentWeakMap();
private static final ConcurrentMap<CharSequence, Map<StringSearcher, int[]>> cache =
ContainerUtil.createConcurrentWeakMap(ContainerUtil.identityStrategy());
public static boolean processTextOccurrences(@NotNull CharSequence text,
int startOffset,
int endOffset,