mirror of
https://github.com/chrislusf/seaweedfs
synced 2024-09-18 15:00:53 +02:00
reduce pointer usage
This commit is contained in:
parent
1478d7ea21
commit
832ac8129a
|
@ -81,7 +81,7 @@ func ViewFromChunks(chunks []*filer_pb.FileChunk, offset int64, size int) (views
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func ViewFromVisibleIntervals(visibles []*VisibleInterval, offset int64, size int) (views []*ChunkView) {
|
func ViewFromVisibleIntervals(visibles []VisibleInterval, offset int64, size int) (views []*ChunkView) {
|
||||||
|
|
||||||
stop := offset + int64(size)
|
stop := offset + int64(size)
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ func ViewFromVisibleIntervals(visibles []*VisibleInterval, offset int64, size in
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func logPrintf(name string, visibles []*VisibleInterval) {
|
func logPrintf(name string, visibles []VisibleInterval) {
|
||||||
/*
|
/*
|
||||||
log.Printf("%s len %d", name, len(visibles))
|
log.Printf("%s len %d", name, len(visibles))
|
||||||
for _, v := range visibles {
|
for _, v := range visibles {
|
||||||
|
@ -118,7 +118,7 @@ var bufPool = sync.Pool{
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
func mergeIntoVisibles(visibles, newVisibles []*VisibleInterval, chunk *filer_pb.FileChunk) []*VisibleInterval {
|
func mergeIntoVisibles(visibles, newVisibles []VisibleInterval, chunk *filer_pb.FileChunk) []VisibleInterval {
|
||||||
|
|
||||||
newV := newVisibleInterval(
|
newV := newVisibleInterval(
|
||||||
chunk.Offset,
|
chunk.Offset,
|
||||||
|
@ -179,13 +179,13 @@ func mergeIntoVisibles(visibles, newVisibles []*VisibleInterval, chunk *filer_pb
|
||||||
return newVisibles
|
return newVisibles
|
||||||
}
|
}
|
||||||
|
|
||||||
func NonOverlappingVisibleIntervals(chunks []*filer_pb.FileChunk) (visibles []*VisibleInterval) {
|
func NonOverlappingVisibleIntervals(chunks []*filer_pb.FileChunk) (visibles []VisibleInterval) {
|
||||||
|
|
||||||
sort.Slice(chunks, func(i, j int) bool {
|
sort.Slice(chunks, func(i, j int) bool {
|
||||||
return chunks[i].Mtime < chunks[j].Mtime
|
return chunks[i].Mtime < chunks[j].Mtime
|
||||||
})
|
})
|
||||||
|
|
||||||
var newVislbles []*VisibleInterval
|
var newVislbles []VisibleInterval
|
||||||
for _, chunk := range chunks {
|
for _, chunk := range chunks {
|
||||||
newVislbles = mergeIntoVisibles(visibles, newVislbles, chunk)
|
newVislbles = mergeIntoVisibles(visibles, newVislbles, chunk)
|
||||||
t := visibles[:0]
|
t := visibles[:0]
|
||||||
|
@ -210,8 +210,8 @@ type VisibleInterval struct {
|
||||||
isFullChunk bool
|
isFullChunk bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func newVisibleInterval(start, stop int64, fileId string, modifiedTime int64, isFullChunk bool) *VisibleInterval {
|
func newVisibleInterval(start, stop int64, fileId string, modifiedTime int64, isFullChunk bool) VisibleInterval {
|
||||||
return &VisibleInterval{
|
return VisibleInterval{
|
||||||
start: start,
|
start: start,
|
||||||
stop: stop,
|
stop: stop,
|
||||||
fileId: fileId,
|
fileId: fileId,
|
||||||
|
|
|
@ -24,7 +24,7 @@ type File struct {
|
||||||
dir *Dir
|
dir *Dir
|
||||||
wfs *WFS
|
wfs *WFS
|
||||||
entry *filer_pb.Entry
|
entry *filer_pb.Entry
|
||||||
entryViewCache []*filer2.VisibleInterval
|
entryViewCache []filer2.VisibleInterval
|
||||||
isOpen bool
|
isOpen bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue