From 5660f291af632f5b0b829cc798da880fb3b31742 Mon Sep 17 00:00:00 2001 From: Viktor Lofgren Date: Sun, 25 Aug 2024 13:43:29 +0200 Subject: [PATCH] (index) Optimize DocumentSpan.countIntersections --- .../index/forward/spans/DocumentSpan.java | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/code/index/index-forward/java/nu/marginalia/index/forward/spans/DocumentSpan.java b/code/index/index-forward/java/nu/marginalia/index/forward/spans/DocumentSpan.java index 6880617f..26245c49 100644 --- a/code/index/index-forward/java/nu/marginalia/index/forward/spans/DocumentSpan.java +++ b/code/index/index-forward/java/nu/marginalia/index/forward/spans/DocumentSpan.java @@ -22,24 +22,13 @@ public class DocumentSpan { return 0; } - int sei = 0; - int start = startsEnds.getInt(sei++); - int end = startsEnds.getInt(sei++); - int cnt = 0; for (int pi = 0; pi < positions.size(); pi++) { - int position = positions.getInt(pi); - if (position < start) { - continue; - } - - if (position < end) { - cnt++; - } else if (sei + 2 < startsEnds.size()) { - start = startsEnds.getInt(sei++); - end = startsEnds.getInt(sei++); - } else { - return cnt; + for (int sei = 0; sei < startsEnds.size(); sei ++) { + if (startsEnds.getInt(sei) > positions.getInt(pi)) { + cnt += sei % 2; + break; + } } }