Use roaring.Bitmap.FromBuffer(), remove memory alignment.
parent
66920a181a
commit
5612511a8f
|
@ -186,11 +186,11 @@ func (p IndexFiles) CompactTo(w io.Writer, sfile *tsdb.SeriesFile, m, k uint64,
|
|||
}
|
||||
|
||||
// Ensure block is word aligned.
|
||||
if offset := n % 8; offset != 0 {
|
||||
if err := writeTo(bw, make([]byte, 8-offset), &n); err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
// if offset := n % 8; offset != 0 {
|
||||
// if err := writeTo(bw, make([]byte, 8-offset), &n); err != nil {
|
||||
// return n, err
|
||||
// }
|
||||
// }
|
||||
|
||||
// Write measurement block.
|
||||
t.MeasurementBlock.Offset = n
|
||||
|
@ -297,11 +297,11 @@ func (p IndexFiles) writeTagsetTo(w io.Writer, name []byte, info *indexCompactIn
|
|||
}
|
||||
|
||||
// Ensure block is word aligned.
|
||||
if offset := (*n) % 8; offset != 0 {
|
||||
if err := writeTo(w, make([]byte, 8-offset), n); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
// if offset := (*n) % 8; offset != 0 {
|
||||
// if err := writeTo(w, make([]byte, 8-offset), n); err != nil {
|
||||
// return err
|
||||
// }
|
||||
// }
|
||||
|
||||
kitr, err := p.TagKeyIterator(name)
|
||||
if err != nil {
|
||||
|
|
|
@ -847,11 +847,11 @@ func (f *LogFile) CompactTo(w io.Writer, m, k uint64, cancel <-chan struct{}) (n
|
|||
}
|
||||
|
||||
// Ensure block is word aligned.
|
||||
if offset := n % 8; offset != 0 {
|
||||
if err := writeTo(bw, make([]byte, 8-offset), &n); err != nil {
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
// if offset := n % 8; offset != 0 {
|
||||
// if err := writeTo(bw, make([]byte, 8-offset), &n); err != nil {
|
||||
// return n, err
|
||||
// }
|
||||
// }
|
||||
|
||||
// Write measurement block.
|
||||
t.MeasurementBlock.Offset = n
|
||||
|
@ -932,11 +932,11 @@ func (f *LogFile) writeTagsetTo(w io.Writer, name string, info *logFileCompactIn
|
|||
}
|
||||
|
||||
// Ensure block is word aligned.
|
||||
if offset := (*n) % 8; offset != 0 {
|
||||
if err := writeTo(w, make([]byte, 8-offset), n); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
// if offset := (*n) % 8; offset != 0 {
|
||||
// if err := writeTo(w, make([]byte, 8-offset), n); err != nil {
|
||||
// return err
|
||||
// }
|
||||
// }
|
||||
|
||||
enc := NewTagBlockEncoder(w)
|
||||
var valueN int
|
||||
|
|
|
@ -461,7 +461,7 @@ func (e *MeasurementBlockElem) UnmarshalBinary(data []byte) error {
|
|||
if e.flag&MeasurementSeriesIDSetFlag == 0 {
|
||||
e.series.data, data = data[:sz], data[sz:]
|
||||
} else {
|
||||
data = memalign(data)
|
||||
// data = memalign(data)
|
||||
e.seriesIDSet = tsdb.NewSeriesIDSet()
|
||||
if err = e.seriesIDSet.UnmarshalBinaryUnsafe(data[:sz]); err != nil {
|
||||
return err
|
||||
|
@ -644,11 +644,11 @@ func (mw *MeasurementBlockWriter) writeMeasurementTo(w io.Writer, name []byte, m
|
|||
}
|
||||
|
||||
// Word align bitmap data.
|
||||
if offset := (*n) % 8; offset != 0 {
|
||||
if err := writeTo(w, make([]byte, 8-offset), n); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
// if offset := (*n) % 8; offset != 0 {
|
||||
// if err := writeTo(w, make([]byte, 8-offset), n); err != nil {
|
||||
// return err
|
||||
// }
|
||||
// }
|
||||
|
||||
nn, err := mw.buf.WriteTo(w)
|
||||
*n += nn
|
||||
|
|
|
@ -426,7 +426,7 @@ func (e *TagBlockValueElem) unmarshal(buf []byte) {
|
|||
if e.flag&TagValueSeriesIDSetFlag == 0 {
|
||||
e.series.data, buf = buf[:sz], buf[sz:]
|
||||
} else {
|
||||
buf = memalign(buf)
|
||||
// buf = memalign(buf)
|
||||
e.seriesIDSetData, buf = buf, buf[sz:]
|
||||
}
|
||||
|
||||
|
@ -646,11 +646,11 @@ func (enc *TagBlockEncoder) EncodeValue(value []byte, deleted bool, ss *tsdb.Ser
|
|||
}
|
||||
|
||||
// Word align bitmap data.
|
||||
if offset := (enc.n) % 8; offset != 0 {
|
||||
if err := writeTo(enc.w, make([]byte, 8-offset), &enc.n); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
// if offset := (enc.n) % 8; offset != 0 {
|
||||
// if err := writeTo(enc.w, make([]byte, 8-offset), &enc.n); err != nil {
|
||||
// return err
|
||||
// }
|
||||
// }
|
||||
|
||||
nn, err := enc.buf.WriteTo(enc.w)
|
||||
if enc.n += nn; err != nil {
|
||||
|
|
|
@ -208,7 +208,8 @@ func (s *SeriesIDSet) UnmarshalBinary(data []byte) error {
|
|||
func (s *SeriesIDSet) UnmarshalBinaryUnsafe(data []byte) error {
|
||||
s.Lock()
|
||||
defer s.Unlock()
|
||||
return s.bitmap.UnmarshalBinaryUnsafe(data)
|
||||
_, err := s.bitmap.FromBuffer(data)
|
||||
return err
|
||||
}
|
||||
|
||||
// WriteTo writes the set to w.
|
||||
|
|
Loading…
Reference in New Issue