Avoid redundant loop for compute min value in DirectMonotonicWriter (#12377)

* Avoid redundant loop for get min value

* update CHANGES.txt
This commit is contained in:
zhangchao 2023-06-20 21:12:15 +08:00 committed by GitHub
parent 6d4314d46f
commit 37b92adf6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 5 deletions

View File

@ -128,7 +128,7 @@ Improvements
Optimizations
---------------------
(No changes)
* GITHUB#12377: Avoid redundant loop for compute min value in DirectMonotonicWriter. (Chao Zhang)
Bug Fixes
---------------------

View File

@ -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);
}