bufio writer now half speed native not bad
This commit is contained in:
12
src/adapt.go
12
src/adapt.go
@@ -72,6 +72,16 @@ func readMessage(reader *bufio.Reader) ([]byte, []any, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func readMessageTo(w io.Writer, reader *bufio.Reader) ([]any, error) {
|
func readMessageTo(w io.Writer, reader *bufio.Reader) ([]any, error) {
|
||||||
|
w2 := bufio.NewWriter(w)
|
||||||
|
defer w2.Flush()
|
||||||
|
arr, err := _readMessageTo(w2, reader)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return arr, w2.Flush()
|
||||||
|
}
|
||||||
|
|
||||||
|
func _readMessageTo(w io.Writer, reader *bufio.Reader) ([]any, error) {
|
||||||
firstLine, _, err := reader.ReadLine()
|
firstLine, _, err := reader.ReadLine()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -124,7 +134,7 @@ func readMessageTo(w io.Writer, reader *bufio.Reader) ([]any, error) {
|
|||||||
}
|
}
|
||||||
var result []any
|
var result []any
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
more, err := readMessageTo(w, reader)
|
more, err := _readMessageTo(w, reader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user