Skip to content

Commit 2ed5b50

Browse files
committed
Merge pull request #139 from yifan-gu/fast_follow
sdjournal: Reuse buffer to speed up the Follow().
2 parents b9fedff + dde89c2 commit 2ed5b50

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

sdjournal/read.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,10 +135,9 @@ func (r *JournalReader) Follow(until <-chan time.Time, writer io.Writer) (err er
135135

136136
// Process journal entries and events. Entries are flushed until the tail or
137137
// timeout is reached, and then we wait for new events or the timeout.
138+
var msg = make([]byte, 64*1<<(10))
138139
process:
139140
for {
140-
var msg = make([]byte, 64*1<<(10))
141-
142141
c, err := r.Read(msg)
143142
if err != nil && err != io.EOF {
144143
break process
@@ -149,7 +148,7 @@ process:
149148
return ErrExpired
150149
default:
151150
if c > 0 {
152-
writer.Write(msg)
151+
writer.Write(msg[:c])
153152
continue process
154153
}
155154
}

0 commit comments

Comments
 (0)