mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-10-06 10:57:51 +00:00
added binary search to runAdd
This commit is contained in:
parent
ed14ddf4d6
commit
89714c706d
1 changed files with 9 additions and 7 deletions
|
|
@ -1216,16 +1216,18 @@ func (c *container) runAdd(v uint16) bool {
|
|||
c.runs = []interval16{{start: v, last: v}}
|
||||
return true
|
||||
}
|
||||
i := 0
|
||||
var iv interval16
|
||||
for i, iv = range c.runs {
|
||||
if iv.last >= v {
|
||||
break
|
||||
}
|
||||
i := sort.Search(len(c.runs),
|
||||
func(i int) bool { return c.runs[i].last >= v })
|
||||
|
||||
if i == len(c.runs){
|
||||
i--
|
||||
}
|
||||
if v >= iv.start && iv.last >= v {
|
||||
|
||||
iv:=c.runs[i]
|
||||
if v>= iv.start && iv.last>=v{
|
||||
return false
|
||||
}
|
||||
|
||||
c.unmap()
|
||||
if iv.last < v {
|
||||
if iv.last == v-1 {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue