From 0ee293d05d604f2c3fc930d7a7031eef09939f2a Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 6 Nov 2018 20:15:52 +0300 Subject: [PATCH] optimization: faster hashCode() --- .../com/intellij/openapi/editor/impl/view/LineLayout.java | 5 +++++ .../com/intellij/util/io/CompressedAppendableFile.java | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/LineLayout.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/LineLayout.java index 0f08e38caa01..da478ab876fe 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/LineLayout.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/LineLayout.java @@ -595,6 +595,11 @@ abstract class LineLayout { this.endOffset = endOffset; } + @Override + public int hashCode() { + return startOffset * 31 + endOffset; + } + private void ensureLayout(@NotNull EditorView view, BidiRun run, int line) { if (isReal()) { view.getTextLayoutCache().onChunkAccess(this); diff --git a/platform/util/src/com/intellij/util/io/CompressedAppendableFile.java b/platform/util/src/com/intellij/util/io/CompressedAppendableFile.java index 2255d1e31951..ae5efcb554fd 100644 --- a/platform/util/src/com/intellij/util/io/CompressedAppendableFile.java +++ b/platform/util/src/com/intellij/util/io/CompressedAppendableFile.java @@ -60,6 +60,9 @@ public class CompressedAppendableFile { static final String INCOMPLETE_CHUNK_LENGTH_FILE_EXTENSION = ".s"; + private static int ourFilesCount; + private final int myCount = ourFilesCount++; + public CompressedAppendableFile(File file) { this(file, 32768); } @@ -590,4 +593,9 @@ public class CompressedAppendableFile { return buf[0] & 0xFF; } } + + @Override + public int hashCode() { + return myCount; + } } \ No newline at end of file