You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2023/06/20 13:12:22 UTC
[lucene] branch main updated: Avoid redundant loop for compute min value in DirectMonotonicWriter (#12377)
This is an automated email from the ASF dual-hosted git repository.
mikemccand pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/lucene.git
The following commit(s) were added to refs/heads/main by this push:
new 37b92adf6a1 Avoid redundant loop for compute min value in DirectMonotonicWriter (#12377)
37b92adf6a1 is described below
commit 37b92adf6a1d31d4248dc7dcafd14cf8433ca4de
Author: zhangchao <80...@qq.com>
AuthorDate: Tue Jun 20 21:12:15 2023 +0800
Avoid redundant loop for compute min value in DirectMonotonicWriter (#12377)
* Avoid redundant loop for get min value
* update CHANGES.txt
---
lucene/CHANGES.txt | 2 +-
.../java/org/apache/lucene/util/packed/DirectMonotonicWriter.java | 6 ++----
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index e65319f57ed..1bb61027d0e 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -128,7 +128,7 @@ Improvements
Optimizations
---------------------
-(No changes)
+* GITHUB#12377: Avoid redundant loop for compute min value in DirectMonotonicWriter. (Chao Zhang)
Bug Fixes
---------------------
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicWriter.java
index 5d0c41e6178..fcbef2555ad 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/DirectMonotonicWriter.java
@@ -79,13 +79,11 @@ public final class DirectMonotonicWriter {
final float avgInc =
(float) ((double) (buffer[bufferSize - 1] - buffer[0]) / Math.max(1, bufferSize - 1));
+
+ long min = Long.MAX_VALUE;
for (int i = 0; i < bufferSize; ++i) {
final long expected = (long) (avgInc * (long) i);
buffer[i] -= expected;
- }
-
- long min = buffer[0];
- for (int i = 1; i < bufferSize; ++i) {
min = Math.min(buffer[i], min);
}