perf: skip lid blocks#407
Conversation
| res := index | ||
| for i := index + 1; i < uint32(len(t.MinTIDs)); i++ { | ||
| if t.MinTIDs[i] == tid && nextLID >= t.FirstLIDs[i] { | ||
| res = i |
There was a problem hiding this comment.
nit: here i is int, but in SeekBlockLeq() it is uint32. let's make it consistent, for example:
for i := int(index) + 1; i <len(t.MinTIDs); i++ {
if t.MinTIDs[i] == tid && nextLID >= t.FirstLIDs[i] {
res = uint32(i)
continue
}
break
}2ec59f6 to
b7a0835
Compare
|
Caution Review failedAn error occurred during the review process. Please try again later. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #407 +/- ##
==========================================
+ Coverage 70.47% 70.49% +0.01%
==========================================
Files 232 232
Lines 18364 18406 +42
==========================================
+ Hits 12942 12975 +33
- Misses 4448 4455 +7
- Partials 974 976 +2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
🔴 Performance DegradationSome benchmarks have degraded compared to the previous run. Show table
|
🔴 Performance DegradationSome benchmarks have degraded compared to the previous run. Show table
|
🔴 Performance DegradationSome benchmarks have degraded compared to the previous run. Show table
|
Description
Summary
v5firstLIDandlastLIDencodedisContinuedis only used for older frac versionsNextGeqallows to skip some blocksMeasurements
With 16k LID blocks, there are only 4 search requests (out of 50+ I tested) where this feature improves cold query perf. All four search requests fit into "intersect dense and sparse column" type.