فهرست منبع

Add buffered reader StreamingReadAuthenticatedDataPackage optimization

Rod Hynes 8 سال پیش
والد
کامیت
5f3d324fe2
1فایلهای تغییر یافته به همراه4 افزوده شده و 1 حذف شده
  1. 4 1
      psiphon/common/authPackage.go

+ 4 - 1
psiphon/common/authPackage.go

@@ -20,6 +20,7 @@
 package common
 
 import (
+	"bufio"
 	"bytes"
 	"compress/zlib"
 	"crypto"
@@ -268,8 +269,10 @@ func StreamingReadAuthenticatedDataPackage(
 			return false, ContextError(fmt.Errorf("unexpected key '%s'", key))
 		}
 
+		// Using a buffered reader to consume zlib output in batches
+		// yields a significant speed up in the BenchmarkAuthenticatedPackage.
 		jsonStreamer := &limitedJSONStreamer{
-			reader:  decompressor,
+			reader:  bufio.NewReader(decompressor),
 			handler: jsonHandler,
 		}