diff --git a/cmd/servicerunner/main.go b/cmd/servicerunner/main.go
index 0832676..6b7b91b 100644
--- a/cmd/servicerunner/main.go
+++ b/cmd/servicerunner/main.go
@@ -2,6 +2,10 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build wspr
+//
+// We restrict to a special build-tag since it's required by wsprlib.
+
 // Command servicerunner runs several Vanadium services, including the
 // mounttable, proxy and wspr.  It prints a JSON map with their vars to stdout
 // (as a single line), then waits forever.
diff --git a/cmd/servicerunner/servicerunner_test.go b/cmd/servicerunner/servicerunner_test.go
index 2f9569d..14281ea 100644
--- a/cmd/servicerunner/servicerunner_test.go
+++ b/cmd/servicerunner/servicerunner_test.go
@@ -2,6 +2,10 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build wspr
+//
+// We restrict to a special build-tag since it's required by wsprlib.
+
 // Runs the servicerunner binary and checks that it outputs a JSON line to
 // stdout with the expected variables.
 package main
@@ -17,9 +21,15 @@
 	"testing"
 
 	"v.io/x/ref/envvar"
+	"v.io/x/ref/test"
 )
 
-//go:generate v23 test generate
+// We provide our own TestMain, rather than allowing v23 test generate to create
+// one for us, to ensure all files require the "wspr" build tag.
+func TestMain(m *testing.M) {
+	test.Init()
+	os.Exit(m.Run())
+}
 
 func TestServiceRunner(t *testing.T) {
 	envvar.ClearCredentials()
@@ -32,7 +42,7 @@
 
 	bin := path.Join(tmpdir, "servicerunner")
 	fmt.Println("Building", bin)
-	err = exec.Command("v23", "go", "build", "-o", bin, "v.io/x/ref/cmd/servicerunner").Run()
+	err = exec.Command("v23", "go", "build", "-o", bin, "-a", "-tags", "wspr", "v.io/x/ref/cmd/servicerunner").Run()
 	if err != nil {
 		t.Fatal(err)
 	}
diff --git a/cmd/servicerunner/v23_internal_test.go b/cmd/servicerunner/v23_internal_test.go
deleted file mode 100644
index dcd0029..0000000
--- a/cmd/servicerunner/v23_internal_test.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2015 The Vanadium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file was auto-generated via go generate.
-// DO NOT UPDATE MANUALLY
-package main
-
-import "testing"
-import "os"
-
-import "v.io/x/ref/test"
-
-func TestMain(m *testing.M) {
-	test.Init()
-	os.Exit(m.Run())
-}
diff --git a/cmd/servicerunner/wspr.go b/cmd/servicerunner/wspr.go
index a972136..f8fd122 100644
--- a/cmd/servicerunner/wspr.go
+++ b/cmd/servicerunner/wspr.go
@@ -2,6 +2,11 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build wspr
+//
+// We restrict to a special build-tag in order to enable
+// security.OverrideCaveatValidation, which isn't generally available.
+
 package main
 
 import (
@@ -23,6 +28,7 @@
 const WSPRDCommand = "wsprd"
 
 func init() {
+	wsprlib.OverrideCaveatValidation()
 	modules.RegisterChild(WSPRDCommand, modules.Usage(flag.CommandLine), startWSPR)
 }
 
diff --git a/lib/vdl/codegen/javascript/gen.go b/lib/vdl/codegen/javascript/gen.go
index 787b785..85fc597 100644
--- a/lib/vdl/codegen/javascript/gen.go
+++ b/lib/vdl/codegen/javascript/gen.go
@@ -347,6 +347,19 @@
 	return false
 }
 
+func hasMethodTags(pkg *compile.Package) bool {
+	for _, file := range pkg.Files {
+		for _, iface := range file.Interfaces {
+			for _, method := range iface.Methods {
+				if len(method.Tags) > 0 {
+					return true
+				}
+			}
+		}
+	}
+	return false
+}
+
 func generateSystemImports(data data) string {
 	res := "var vdl = require('"
 	packagePrefix := ""
@@ -369,7 +382,7 @@
 		}
 	}
 
-	if hasConsts(data.Pkg) || hasEnums(data.Pkg) {
+	if hasConsts(data.Pkg) || hasEnums(data.Pkg) || hasMethodTags(data.Pkg) {
 		if data.PathToCoreJS != "" {
 			res += "var canonicalize = require('" + packagePrefix + "/vdl/canonicalize');\n"
 		} else {
@@ -437,7 +450,7 @@
   {{range $iface := $file.Interfaces}}
     {{/* Define the service interface. */}}
 function {{$iface.Name}}(){}
-module.exports.{{$iface.Name}} = {{$iface.Name}}
+module.exports.{{$iface.Name}} = {{$iface.Name}};
 
     {{range $method := $iface.AllMethods}}
       {{/* Add each method to the service prototype. */}}
diff --git a/profiles/internal/rpc/benchmark/README.md b/profiles/internal/rpc/benchmark/README.md
new file mode 100644
index 0000000..6adfead
--- /dev/null
+++ b/profiles/internal/rpc/benchmark/README.md
@@ -0,0 +1,128 @@
+This directory contains code uses to measure the performance of the Vanadium RPC stack.
+
+---
+
+This benchmarks use Go's testing package to run benchmarks. Each benchmark involves
+one server and one client. The server has two very simple methods that echo the data
+received from the client back to the client.
+
+* `client ---- Echo(payload) ----> server`
+* `client <--- return payload ---- server`
+
+There are two versions of the Echo method:
+
+* `Echo(payload []byte) ([]byte], error)`
+* `EchoStream() <[]byte,[]byte> error`
+
+# Microbenchmarks
+## `benchmark_test.go`
+
+The first benchmarks use the non-streaming version of Echo with a varying
+payload size. The second benchmarks use the streaming version with varying
+number of chunks and payload sizes. The third one is for measuring the
+performance with multiple clients hosted in the same process.
+
+This test creates a VC before the benchmark begins. So, the VC creation
+overhead is excluded.
+
+```
+$ v23 go test -bench=. -timeout=1h -cpu=1 -benchtime=5s v.io/x/ref/profiles/internal/rpc/benchmark
+PASS
+Benchmark____1B     1000           8301357 ns/op           0.00 MB/s
+--- Histogram (unit: ms)
+        Count: 1000  Min: 7  Max: 17  Avg: 7.89
+        ------------------------------------------------------------
+        [  7,   8)   505   50.5%   50.5%  #####
+        [  8,   9)   389   38.9%   89.4%  ####
+        [  9,  10)    38    3.8%   93.2%  
+        [ 10,  11)    12    1.2%   94.4%  
+        [ 11,  12)     4    0.4%   94.8%  
+        [ 12,  14)    19    1.9%   96.7%  
+        [ 14,  16)    23    2.3%   99.0%  
+        [ 16,  18)    10    1.0%  100.0%  
+        [ 18,  21)     0    0.0%  100.0%  
+        [ 21,  24)     0    0.0%  100.0%  
+        [ 24, inf)     0    0.0%  100.0%  
+Benchmark___10B     1000           8587341 ns/op           0.00 MB/s
+...
+```
+
+`RESULTS.txt` has the full benchmark results.
+
+## `main/main.go`
+
+main/main.go is a simple command-line tool to run the main benchmarks to measure
+RPC setup time, latency, and throughput.
+
+```
+$ v23 go run main/main.go
+RPC Connection  33.48 ms/rpc
+RPC (echo 1000B)  1.31 ms/rpc (763.05 qps)
+RPC Streaming (echo 1000B)  0.11 ms/rpc
+RPC Streaming Throughput (echo 1MB) 313.91 MB/s
+```
+
+# Client/Server
+## `{benchmark,benchmarkd}/main.go`
+
+benchmarkd/main.go and benchmark/main.go are simple command-line tools to run the
+benchmark server and client as separate processes. Unlike the benchmarks above,
+this test includes the startup cost of name resolution, creating the VC, etc. in
+the first RPC.
+
+```
+$ v23 go run benchmarkd/main.go \
+  -v23.tcp.address=localhost:8888 -v23.permissions.literal='{"Read": {"In": ["..."]}}'
+```
+
+(In a different shell)
+
+```
+$ v23 go run benchmark/main.go \
+  -server=/localhost:8888 -iterations=100 -chunk_count=0 -payload_size=10
+iterations: 100  chunk_count: 0  payload_size: 10
+elapsed time: 1.369034277s
+Histogram (unit: ms)
+Count: 100  Min: 7  Max: 94  Avg: 13.17
+------------------------------------------------------------
+[  7,   8)    1    1.0%    1.0%  
+[  8,   9)    4    4.0%    5.0%  
+[  9,  10)   17   17.0%   22.0%  ##
+[ 10,  12)   24   24.0%   46.0%  ##
+[ 12,  15)   24   24.0%   70.0%  ##
+[ 15,  19)   28   28.0%   98.0%  ###
+[ 19,  24)    1    1.0%   99.0%  
+[ 24,  32)    0    0.0%   99.0%  
+[ 32,  42)    0    0.0%   99.0%  
+[ 42,  56)    0    0.0%   99.0%  
+[ 56,  75)    0    0.0%   99.0%  
+[ 75, 101)    1    1.0%  100.0%  
+[101, 136)    0    0.0%  100.0%  
+[136, 183)    0    0.0%  100.0%  
+[183, 247)    0    0.0%  100.0%  
+[247, 334)    0    0.0%  100.0%  
+[334, inf)    0    0.0%  100.0%  
+```
+
+# Raspberry Pi
+
+On a Raspberry Pi, everything is much slower. The same tests show the following
+results:
+
+```
+$ ./main
+RPC Connection  1765.47 ms/rpc
+RPC (echo 1000B)  78.61 ms/rpc (12.72 qps)
+RPC Streaming (echo 1000B)  23.85 ms/rpc
+RPC Streaming Throughput (echo 1MB) 0.92 MB/s
+```
+
+On a Raspberry Pi 2,
+
+```
+$ ./main
+RPC Connection  847.41 ms/rpc
+RPC (echo 1000B)  16.47 ms/rpc (60.71 qps)
+RPC Streaming (echo 1000B)  3.33 ms/rpc
+RPC Streaming Throughput (echo 1MB) 2.31 MB/s
+```
diff --git a/profiles/internal/rpc/benchmark/README.txt b/profiles/internal/rpc/benchmark/README.txt
deleted file mode 100644
index 27fa43b..0000000
--- a/profiles/internal/rpc/benchmark/README.txt
+++ /dev/null
@@ -1,129 +0,0 @@
-This directory contains code uses to measure the performance of the Vanadium IPC
-stack.
-
-================================================================================
-
-The ipc_test.go file uses GO's testing package to run benchmarks. Each
-benchmark involves one server and one client. The server has two very simple
-methods that echo the data received from the client back to the client.
-
-client ---- Echo(payload) ----> server
-client <--- return payload ---- server
-
-There are two versions of the Echo method:
- - Echo(payload []byte) ([]byte], error)
- - EchoStream() <[]byte,[]byte> error
-
-The first benchmarks use the non-streaming version of Echo with a varying
-payload size. The second benchmarks use the streaming version with varying
-number of chunks and payload sizes. The third one is for measuring the
-performance with multiple clients hosted in the same process.
-
-This test creates a VC before the benchmark begins. So, the VC creation
-overhead is excluded.
-
-$ v23 go test -bench=. -timeout=1h -cpu=1 -benchtime=5s \
-  v.io/x/ref/profiles/internal/ipc/benchmark
-PASS
-Benchmark____1B	    1000	   8301357 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 1000  Min: 7  Max: 17  Avg: 7.89
-	------------------------------------------------------------
-	[  7,   8)   505   50.5%   50.5%  #####
-	[  8,   9)   389   38.9%   89.4%  ####
-	[  9,  10)    38    3.8%   93.2%  
-	[ 10,  11)    12    1.2%   94.4%  
-	[ 11,  12)     4    0.4%   94.8%  
-	[ 12,  14)    19    1.9%   96.7%  
-	[ 14,  16)    23    2.3%   99.0%  
-	[ 16,  18)    10    1.0%  100.0%  
-	[ 18,  21)     0    0.0%  100.0%  
-	[ 21,  24)     0    0.0%  100.0%  
-	[ 24, inf)     0    0.0%  100.0%  
-Benchmark___10B	    1000	   8587341 ns/op	   0.00 MB/s
-...
-
-RESULTS.txt has the full benchmark results.
-
-================================================================================
-
-benchmarkd/main.go and benchmark/main.go are simple command-line tools to run the
-benchmark server and client as separate processes. Unlike the benchmarks above,
-this test includes the startup cost of name resolution, creating the VC, etc. in
-the first RPC.
-
-$ v23 go run benchmarkd/main.go \
-  -v23.tcp.address=localhost:8888 -v23.permissions.literal='{"Read": {"In": ["..."]}}'
-
-(In a different shell)
-$ v23 go run benchmark/main.go \
-  -server=/localhost:8888 -iterations=100 -chunk_count=0 -payload_size=10
-iterations: 100  chunk_count: 0  payload_size: 10
-elapsed time: 1.369034277s
-Histogram (unit: ms)
-Count: 100  Min: 7  Max: 94  Avg: 13.17
-------------------------------------------------------------
-[  7,   8)    1    1.0%    1.0%  
-[  8,   9)    4    4.0%    5.0%  
-[  9,  10)   17   17.0%   22.0%  ##
-[ 10,  12)   24   24.0%   46.0%  ##
-[ 12,  15)   24   24.0%   70.0%  ##
-[ 15,  19)   28   28.0%   98.0%  ###
-[ 19,  24)    1    1.0%   99.0%  
-[ 24,  32)    0    0.0%   99.0%  
-[ 32,  42)    0    0.0%   99.0%  
-[ 42,  56)    0    0.0%   99.0%  
-[ 56,  75)    0    0.0%   99.0%  
-[ 75, 101)    1    1.0%  100.0%  
-[101, 136)    0    0.0%  100.0%  
-[136, 183)    0    0.0%  100.0%  
-[183, 247)    0    0.0%  100.0%  
-[247, 334)    0    0.0%  100.0%  
-[334, inf)    0    0.0%  100.0%  
-
-
-On a Raspberry Pi, everything is much slower. The same tests show the following
-results:
-
-$ ./benchmarks.test -test.bench=. -test.cpu=1 -test.benchtime=5s 2>/dev/null
-PASS
-Benchmark____1B             500          21316148 ns/op
-Benchmark___10B             500          23304638 ns/op
-Benchmark__100B             500          21860446 ns/op
-Benchmark___1KB             500          24000346 ns/op
-Benchmark__10KB             200          37530575 ns/op
-Benchmark_100KB             100         136243310 ns/op
-Benchmark_N_RPCs____1_chunk_____1B           500          19957506 ns/op
-Benchmark_N_RPCs____1_chunk____10B           500          22868392 ns/op
-Benchmark_N_RPCs____1_chunk___100B           500          19635412 ns/op
-Benchmark_N_RPCs____1_chunk____1KB           500          22572190 ns/op
-Benchmark_N_RPCs____1_chunk___10KB           500          37570948 ns/op
-Benchmark_N_RPCs___10_chunks___1KB           100          51670740 ns/op
-Benchmark_N_RPCs__100_chunks___1KB            50         364938740 ns/op
-Benchmark_N_RPCs_1000_chunks___1KB             2        3586374500 ns/op
-Benchmark_1_RPC_N_chunks_____1B    10000           1034042 ns/op
-Benchmark_1_RPC_N_chunks____10B     5000           1894875 ns/op
-Benchmark_1_RPC_N_chunks___100B     5000           2857289 ns/op
-Benchmark_1_RPC_N_chunks____1KB     5000           6465839 ns/op
-Benchmark_1_RPC_N_chunks___10KB      100          80019430 ns/op
-Benchmark_1_RPC_N_chunks__100KB Killed
-
-The simple 1 KB RPCs take an average of 24 ms. The streaming equivalent takes
-about 22 ms, and streaming many 1 KB chunks takes about 6.5 ms per chunk.
-
-
-$ ./benchmarkd --address=localhost:8888 --v23.permissions.literal='{"...":"A"}'
-
-$ ./benchmark --server=/localhost:8888 --count=10 --payload_size=1000
-CallEcho 0 2573406000
-CallEcho 1 44669000
-CallEcho 2 54442000
-CallEcho 3 33934000
-CallEcho 4 47985000
-CallEcho 5 61324000
-CallEcho 6 51654000
-CallEcho 7 47043000
-CallEcho 8 44995000
-CallEcho 9 53166000
-
-On the pi, the first RPC takes ~2.5 sec to execute.
diff --git a/profiles/internal/rpc/benchmark/RESULTS.txt b/profiles/internal/rpc/benchmark/RESULTS.txt
index eec067a..6460076 100644
--- a/profiles/internal/rpc/benchmark/RESULTS.txt
+++ b/profiles/internal/rpc/benchmark/RESULTS.txt
@@ -8,1606 +8,857 @@
   continuously in the same process.
 
 ================================================================================
-Date: 02/03/2015
+Date: 04/16/2015
 Platform: Intel(R) Xeon(R) CPU E5-2689 0 @ 2.60GHz,  66114888KB Memory
 
-Benchmark____1B	    5000	   1911937 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 4  Avg: 1.33
+Benchmark____1B-2	   10000	    805392 ns/op	   0.00 MB/s
+--- Histogram (unit: µs)
+	Count: 10000  Min: 693  Max: 2503  Avg: 804.62
 	------------------------------------------------------------
-	[  1,   2)  3837   76.7%   76.7%  ########
-	[  2,   3)   720   14.4%   91.1%  #
-	[  3,   4)   386    7.7%   98.9%  #
-	[  4, inf)    57    1.1%  100.0%  
-Benchmark____1B-2	    5000	   1735328 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 4  Avg: 1.16
+	[ 693,  694)      2    0.0%    0.0%  
+	[ 694,  695)      1    0.0%    0.0%  
+	[ 695,  697)      2    0.0%    0.1%  
+	[ 697,  701)      2    0.0%    0.1%  
+	[ 701,  708)     25    0.2%    0.3%  
+	[ 708,  720)     91    0.9%    1.2%  
+	[ 720,  740)   1444   14.4%   15.7%  #
+	[ 740,  773)   3540   35.4%   51.1%  ####
+	[ 773,  827)   3820   38.2%   89.3%  ####
+	[ 827,  917)    534    5.3%   94.6%  #
+	[ 917, 1065)    135    1.4%   96.0%  
+	[1065, 1309)     43    0.4%   96.4%  
+	[1309, 1712)    307    3.1%   99.5%  
+	[1712, 2377)     53    0.5%  100.0%  
+	[2377, 3474)      1    0.0%  100.0%  
+	[3474, 5283)      0    0.0%  100.0%  
+	[5283,  inf)      0    0.0%  100.0%  
+Benchmark___10B-2	   10000	    808029 ns/op	   0.02 MB/s
+--- Histogram (unit: µs)
+	Count: 10000  Min: 695  Max: 2678  Avg: 807.25
 	------------------------------------------------------------
-	[  1,   2)  4518   90.4%   90.4%  #########
-	[  2,   3)   149    3.0%   93.3%  
-	[  3,   4)   332    6.6%  100.0%  #
-	[  4, inf)     1    0.0%  100.0%  
-Benchmark___10B	    5000	   1976083 ns/op	   0.01 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 8  Avg: 1.37
+	[ 695,  696)      2    0.0%    0.0%  
+	[ 696,  697)      1    0.0%    0.0%  
+	[ 697,  699)      3    0.0%    0.1%  
+	[ 699,  703)      5    0.1%    0.1%  
+	[ 703,  710)     13    0.1%    0.2%  
+	[ 710,  722)    101    1.0%    1.2%  
+	[ 722,  742)    616    6.2%    7.4%  #
+	[ 742,  776)   4487   44.9%   52.3%  ####
+	[ 776,  833)   4001   40.0%   92.3%  ####
+	[ 833,  928)    397    4.0%   96.3%  
+	[ 928, 1085)    138    1.4%   97.6%  
+	[1085, 1346)      3    0.0%   97.7%  
+	[1346, 1780)     43    0.4%   98.1%  
+	[1780, 2500)    186    1.9%  100.0%  
+	[2500, 3695)      4    0.0%  100.0%  
+	[3695, 5677)      0    0.0%  100.0%  
+	[5677,  inf)      0    0.0%  100.0%  
+Benchmark__100B-2	   10000	    821234 ns/op	   0.24 MB/s
+--- Histogram (unit: µs)
+	Count: 10000  Min: 703  Max: 3921  Avg: 820.44
 	------------------------------------------------------------
-	[  1,   2)  4554   91.1%   91.1%  #########
-	[  2,   3)    19    0.4%   91.5%  
-	[  3,   4)   102    2.0%   93.5%  
-	[  4,   5)    23    0.5%   94.0%  
-	[  5,   6)    74    1.5%   95.4%  
-	[  6,   7)   136    2.7%   98.2%  
-	[  7,   9)    92    1.8%  100.0%  
-	[  9, inf)     0    0.0%  100.0%  
-Benchmark___10B-2	    5000	   1764546 ns/op	   0.01 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 6  Avg: 1.17
+	[ 703,  704)      1    0.0%    0.0%  
+	[ 704,  705)      1    0.0%    0.0%  
+	[ 705,  707)      0    0.0%    0.0%  
+	[ 707,  712)      3    0.0%    0.1%  
+	[ 712,  720)      7    0.1%    0.1%  
+	[ 720,  734)     46    0.5%    0.6%  
+	[ 734,  759)    995   10.0%   10.5%  #
+	[ 759,  802)   6544   65.4%   76.0%  #######
+	[ 802,  876)   1829   18.3%   94.3%  ##
+	[ 876, 1003)    391    3.9%   98.2%  
+	[1003, 1220)     15    0.1%   98.3%  
+	[1220, 1593)      2    0.0%   98.3%  
+	[1593, 2232)     16    0.2%   98.5%  
+	[2232, 3328)    148    1.5%  100.0%  
+	[3328, 5206)      2    0.0%  100.0%  
+	[5206, 8424)      0    0.0%  100.0%  
+	[8424,  inf)      0    0.0%  100.0%  
+Benchmark___1KB-2	   10000	    836132 ns/op	   2.39 MB/s
+--- Histogram (unit: µs)
+	Count: 10000  Min: 735  Max: 4663  Avg: 835.34
 	------------------------------------------------------------
-	[  1,   2)  4752   95.0%   95.0%  ##########
-	[  2,   3)     0    0.0%   95.0%  
-	[  3,   4)     0    0.0%   95.0%  
-	[  4,   5)   123    2.5%   97.5%  
-	[  5,   6)   123    2.5%  100.0%  
-	[  6, inf)     2    0.0%  100.0%  
-Benchmark__100B	    5000	   2065635 ns/op	   0.10 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 14  Avg: 1.44
+	[ 735,  736)      1    0.0%    0.0%  
+	[ 736,  737)      0    0.0%    0.0%  
+	[ 737,  740)      5    0.1%    0.1%  
+	[ 740,  745)     20    0.2%    0.3%  
+	[ 745,  754)    155    1.6%    1.8%  
+	[ 754,  769)   1175   11.8%   13.6%  #
+	[ 769,  796)   3923   39.2%   52.8%  ####
+	[ 796,  843)   3499   35.0%   87.8%  ###
+	[ 843,  925)    762    7.6%   95.4%  #
+	[ 925, 1068)    304    3.0%   98.4%  
+	[1068, 1316)     14    0.1%   98.6%  
+	[1316, 1748)      0    0.0%   98.6%  
+	[1748, 2498)      0    0.0%   98.6%  
+	[2498, 3801)    140    1.4%  100.0%  
+	[3801, 6063)      2    0.0%  100.0%  
+	[6063, 9991)      0    0.0%  100.0%  
+	[9991,  inf)      0    0.0%  100.0%  
+Benchmark__10KB-2	   10000	    922035 ns/op	  21.69 MB/s
+--- Histogram (unit: µs)
+	Count: 10000  Min: 773  Max: 18022  Avg: 921.25
 	------------------------------------------------------------
-	[  1,   2)  4711   94.2%   94.2%  #########
-	[  2,   3)     6    0.1%   94.3%  
-	[  3,   4)    11    0.2%   94.6%  
-	[  4,   5)    41    0.8%   95.4%  
-	[  5,   6)    29    0.6%   96.0%  
-	[  6,   8)     1    0.0%   96.0%  
-	[  8,  10)    64    1.3%   97.3%  
-	[ 10,  13)   111    2.2%   99.5%  
-	[ 13,  16)    26    0.5%  100.0%  
-	[ 16,  20)     0    0.0%  100.0%  
-	[ 20,  25)     0    0.0%  100.0%  
-	[ 25,  31)     0    0.0%  100.0%  
-	[ 31,  38)     0    0.0%  100.0%  
-	[ 38, inf)     0    0.0%  100.0%  
-Benchmark__100B-2	    5000	   1800099 ns/op	   0.11 MB/s
+	[  773,   774)      1    0.0%    0.0%  
+	[  774,   775)      1    0.0%    0.0%  
+	[  775,   778)      2    0.0%    0.0%  
+	[  778,   785)      4    0.0%    0.1%  
+	[  785,   798)     45    0.5%    0.5%  
+	[  798,   823)   1654   16.5%   17.1%  ##
+	[  823,   872)   6089   60.9%   78.0%  ######
+	[  872,   966)   1494   14.9%   92.9%  #
+	[  966,  1147)    486    4.9%   97.8%  
+	[ 1147,  1495)      4    0.0%   97.8%  
+	[ 1495,  2162)      0    0.0%   97.8%  
+	[ 2162,  3441)     18    0.2%   98.0%  
+	[ 3441,  5892)    201    2.0%  100.0%  
+	[ 5892, 10589)      0    0.0%  100.0%  
+	[10589, 19590)      1    0.0%  100.0%  
+	[19590, 36838)      0    0.0%  100.0%  
+	[36838,   inf)      0    0.0%  100.0%  
+Benchmark_100KB-2	    5000	   2039340 ns/op	  98.07 MB/s
 --- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 9  Avg: 1.19
+	Count: 5000  Min: 1  Max: 10  Avg: 1.44
 	------------------------------------------------------------
-	[  1,   2)  4834   96.7%   96.7%  ##########
-	[  2,   3)     1    0.0%   96.7%  
-	[  3,   4)     0    0.0%   96.7%  
-	[  4,   5)     0    0.0%   96.7%  
-	[  5,   6)     0    0.0%   96.7%  
-	[  6,   8)   157    3.1%   99.8%  
-	[  8,  10)     8    0.2%  100.0%  
-	[ 10,  12)     0    0.0%  100.0%  
-	[ 12, inf)     0    0.0%  100.0%  
-Benchmark___1KB	    3000	   2160307 ns/op	   0.93 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 1  Max: 19  Avg: 1.50
-	------------------------------------------------------------
-	[  1,   2)  2883   96.1%   96.1%  ##########
-	[  2,   3)     0    0.0%   96.1%  
-	[  3,   4)     0    0.0%   96.1%  
-	[  4,   5)     0    0.0%   96.1%  
-	[  5,   7)     8    0.3%   96.4%  
-	[  7,   9)    20    0.7%   97.0%  
-	[  9,  12)     0    0.0%   97.0%  
-	[ 12,  15)    28    0.9%   98.0%  
-	[ 15,  19)    53    1.8%   99.7%  
-	[ 19,  24)     8    0.3%  100.0%  
-	[ 24,  30)     0    0.0%  100.0%  
-	[ 30,  38)     0    0.0%  100.0%  
-	[ 38,  48)     0    0.0%  100.0%  
-	[ 48,  60)     0    0.0%  100.0%  
-	[ 60,  74)     0    0.0%  100.0%  
-	[ 74,  91)     0    0.0%  100.0%  
-	[ 91, inf)     0    0.0%  100.0%  
-Benchmark___1KB-2	    5000	   1845717 ns/op	   1.08 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 10  Avg: 1.22
-	------------------------------------------------------------
-	[  1,   2)  4857   97.1%   97.1%  ##########
-	[  2,   3)     7    0.1%   97.3%  
-	[  3,   4)     0    0.0%   97.3%  
-	[  4,   5)     0    0.0%   97.3%  
-	[  5,   6)     0    0.0%   97.3%  
-	[  6,   8)     0    0.0%   97.3%  
-	[  8,  10)   123    2.5%   99.7%  
-	[ 10,  12)    13    0.3%  100.0%  
+	[  1,   2)  4496   89.9%   89.9%  #########
+	[  2,   3)    66    1.3%   91.2%  
+	[  3,   4)     0    0.0%   91.2%  
+	[  4,   5)   119    2.4%   93.6%  
+	[  5,   6)   162    3.2%   96.9%  
+	[  6,   8)    26    0.5%   97.4%  
+	[  8,  10)   123    2.5%   99.8%  
+	[ 10,  12)     8    0.2%  100.0%  
 	[ 12,  15)     0    0.0%  100.0%  
 	[ 15, inf)     0    0.0%  100.0%  
-Benchmark__10KB	    3000	   2461125 ns/op	   8.13 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 1  Max: 24  Avg: 1.65
+
+Benchmark____1_chunk_____1B-2	   10000	   1008412 ns/op	   0.00 MB/s
+--- Histogram (unit: µs)
+	Count: 10000  Min: 871  Max: 2447  Avg: 1007.61
 	------------------------------------------------------------
-	[  1,   2)  2865   95.5%   95.5%  ##########
-	[  2,   3)    19    0.6%   96.1%  
-	[  3,   4)     0    0.0%   96.1%  
-	[  4,   5)     0    0.0%   96.1%  
-	[  5,   7)     0    0.0%   96.1%  
-	[  7,   9)    27    0.9%   97.0%  
-	[  9,  12)     1    0.0%   97.1%  
-	[ 12,  16)     0    0.0%   97.1%  
-	[ 16,  21)    28    0.9%   98.0%  
-	[ 21,  27)    60    2.0%  100.0%  
-	[ 27,  35)     0    0.0%  100.0%  
-	[ 35,  44)     0    0.0%  100.0%  
-	[ 44,  56)     0    0.0%  100.0%  
-	[ 56,  71)     0    0.0%  100.0%  
-	[ 71,  89)     0    0.0%  100.0%  
-	[ 89, 111)     0    0.0%  100.0%  
-	[111, inf)     0    0.0%  100.0%  
-Benchmark__10KB-2	    5000	   2002215 ns/op	   9.99 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 12  Avg: 1.32
+	[ 871,  872)      1    0.0%    0.0%  
+	[ 872,  873)      0    0.0%    0.0%  
+	[ 873,  875)      0    0.0%    0.0%  
+	[ 875,  879)      1    0.0%    0.0%  
+	[ 879,  886)      1    0.0%    0.0%  
+	[ 886,  897)     13    0.1%    0.2%  
+	[ 897,  916)    130    1.3%    1.5%  
+	[ 916,  947)   3640   36.4%   37.9%  ####
+	[ 947,  997)   4612   46.1%   84.0%  #####
+	[ 997, 1079)    739    7.4%   91.4%  #
+	[1079, 1214)    304    3.0%   94.4%  
+	[1214, 1435)     37    0.4%   94.8%  
+	[1435, 1796)    291    2.9%   97.7%  
+	[1796, 2386)    230    2.3%  100.0%  
+	[2386, 3350)      1    0.0%  100.0%  
+	[3350, 4925)      0    0.0%  100.0%  
+	[4925,  inf)      0    0.0%  100.0%  
+Benchmark____1_chunk____10B-2	   10000	   1132272 ns/op	   0.02 MB/s
+--- Histogram (unit: µs)
+	Count: 10000  Min: 907  Max: 4069  Avg: 1131.39
 	------------------------------------------------------------
-	[  1,   2)  4634   92.7%   92.7%  #########
-	[  2,   3)   230    4.6%   97.3%  
-	[  3,   4)     0    0.0%   97.3%  
+	[ 907,  908)      1    0.0%    0.0%  
+	[ 908,  909)      0    0.0%    0.0%  
+	[ 909,  911)      1    0.0%    0.0%  
+	[ 911,  916)      5    0.1%    0.1%  
+	[ 916,  924)     69    0.7%    0.8%  
+	[ 924,  938)    516    5.2%    5.9%  #
+	[ 938,  963)   1376   13.8%   19.7%  #
+	[ 963, 1005)   1147   11.5%   31.2%  #
+	[1005, 1078)    791    7.9%   39.1%  #
+	[1078, 1203)   4877   48.8%   87.8%  #####
+	[1203, 1418)    884    8.8%   96.7%  #
+	[1418, 1786)     19    0.2%   96.9%  
+	[1786, 2416)    122    1.2%   98.1%  
+	[2416, 3495)    172    1.7%   99.8%  
+	[3495, 5342)     20    0.2%  100.0%  
+	[5342, 8503)      0    0.0%  100.0%  
+	[8503,  inf)      0    0.0%  100.0%  
+Benchmark____1_chunk___100B-2	   10000	   1183806 ns/op	   0.17 MB/s
+--- Histogram (unit: µs)
+	Count: 10000  Min: 909  Max: 6281  Avg: 1182.87
+	------------------------------------------------------------
+	[  909,   910)      1    0.0%    0.0%  
+	[  910,   911)      0    0.0%    0.0%  
+	[  911,   914)      0    0.0%    0.0%  
+	[  914,   919)      2    0.0%    0.0%  
+	[  919,   928)     30    0.3%    0.3%  
+	[  928,   945)    177    1.8%    2.1%  
+	[  945,   976)    422    4.2%    6.3%  
+	[  976,  1031)    390    3.9%   10.2%  
+	[ 1031,  1128)   3324   33.2%   43.5%  ###
+	[ 1128,  1301)   5231   52.3%   95.8%  #####
+	[ 1301,  1607)    198    2.0%   97.8%  
+	[ 1607,  2150)      0    0.0%   97.8%  
+	[ 2150,  3114)     96    1.0%   98.7%  
+	[ 3114,  4823)    111    1.1%   99.8%  
+	[ 4823,  7853)     18    0.2%  100.0%  
+	[ 7853, 13224)      0    0.0%  100.0%  
+	[13224,   inf)      0    0.0%  100.0%  
+Benchmark____1_chunk____1KB-2	   10000	   1176691 ns/op	   1.70 MB/s
+--- Histogram (unit: µs)
+	Count: 10000  Min: 901  Max: 8877  Avg: 1175.76
+	------------------------------------------------------------
+	[  901,   902)      1    0.0%    0.0%  
+	[  902,   903)      0    0.0%    0.0%  
+	[  903,   906)      0    0.0%    0.0%  
+	[  906,   912)      0    0.0%    0.0%  
+	[  912,   922)      0    0.0%    0.0%  
+	[  922,   941)     59    0.6%    0.6%  
+	[  941,   977)    562    5.6%    6.2%  #
+	[  977,  1043)    795    8.0%   14.2%  #
+	[ 1043,  1163)   5802   58.0%   72.2%  ######
+	[ 1163,  1382)   2543   25.4%   97.6%  ###
+	[ 1382,  1781)     54    0.5%   98.2%  
+	[ 1781,  2507)      0    0.0%   98.2%  
+	[ 2507,  3829)    123    1.2%   99.4%  
+	[ 3829,  6236)     56    0.6%  100.0%  
+	[ 6236, 10617)      5    0.1%  100.0%  
+	[10617, 18592)      0    0.0%  100.0%  
+	[18592,   inf)      0    0.0%  100.0%  
+Benchmark____1_chunk___10KB-2	    5000	   1209775 ns/op	  16.53 MB/s
+--- Histogram (unit: µs)
+	Count: 5000  Min: 931  Max: 6999  Avg: 1208.87
+	------------------------------------------------------------
+	[  931,   932)     1    0.0%    0.0%  
+	[  932,   933)     0    0.0%    0.0%  
+	[  933,   936)     1    0.0%    0.0%  
+	[  936,   941)     3    0.1%    0.1%  
+	[  941,   951)    23    0.5%    0.6%  
+	[  951,   969)   114    2.3%    2.8%  
+	[  969,  1001)   302    6.0%    8.9%  #
+	[ 1001,  1059)   872   17.4%   26.3%  ##
+	[ 1059,  1163)  2295   45.9%   72.2%  #####
+	[ 1163,  1349)  1104   22.1%   94.3%  ##
+	[ 1349,  1681)   158    3.2%   97.5%  
+	[ 1681,  2275)     0    0.0%   97.5%  
+	[ 2275,  3337)     0    0.0%   97.5%  
+	[ 3337,  5236)    79    1.6%   99.0%  
+	[ 5236,  8631)    48    1.0%  100.0%  
+	[ 8631, 14699)     0    0.0%  100.0%  
+	[14699,   inf)     0    0.0%  100.0%  
+Benchmark____1_chunk__100KB-2	    3000	   2075895 ns/op	  96.34 MB/s
+--- Histogram (unit: ms)
+	Count: 3000  Min: 1  Max: 7  Avg: 1.40
+	------------------------------------------------------------
+	[  1,   2)  2569   85.6%   85.6%  #########
+	[  2,   3)   155    5.2%   90.8%  #
+	[  3,   4)     0    0.0%   90.8%  
+	[  4,   5)   141    4.7%   95.5%  
+	[  5,   6)    74    2.5%   98.0%  
+	[  6,   7)    38    1.3%   99.2%  
+	[  7, inf)    23    0.8%  100.0%  
+Benchmark___10_chunk_____1B-2	    3000	   2076926 ns/op	   0.01 MB/s
+--- Histogram (unit: ms)
+	Count: 3000  Min: 1  Max: 5  Avg: 1.26
+	------------------------------------------------------------
+	[  1,   2)  2489   83.0%   83.0%  ########
+	[  2,   3)   416   13.9%   96.8%  #
+	[  3,   4)     0    0.0%   96.8%  
+	[  4,   5)     6    0.2%   97.0%  
+	[  5, inf)    89    3.0%  100.0%  
+Benchmark___10_chunk____10B-2	    3000	   2229984 ns/op	   0.09 MB/s
+--- Histogram (unit: ms)
+	Count: 3000  Min: 1  Max: 10  Avg: 1.75
+	------------------------------------------------------------
+	[  1,   2)  1141   38.0%   38.0%  ####
+	[  2,   3)  1758   58.6%   96.6%  ######
+	[  3,   4)    15    0.5%   97.1%  
+	[  4,   5)     0    0.0%   97.1%  
+	[  5,   6)    33    1.1%   98.2%  
+	[  6,   8)    30    1.0%   99.2%  
+	[  8,  10)    14    0.5%   99.7%  
+	[ 10,  12)     9    0.3%  100.0%  
+	[ 12,  15)     0    0.0%  100.0%  
+	[ 15, inf)     0    0.0%  100.0%  
+Benchmark___10_chunk___100B-2	    3000	   2348741 ns/op	   0.85 MB/s
+--- Histogram (unit: ms)
+	Count: 3000  Min: 1  Max: 12  Avg: 2.07
+	------------------------------------------------------------
+	[  1,   2)   278    9.3%    9.3%  #
+	[  2,   3)  2613   87.1%   96.4%  #########
+	[  3,   4)    29    1.0%   97.3%  
 	[  4,   5)     0    0.0%   97.3%  
 	[  5,   6)     0    0.0%   97.3%  
-	[  6,   8)     0    0.0%   97.3%  
-	[  8,  10)     0    0.0%   97.3%  
-	[ 10,  13)   136    2.7%  100.0%  
+	[  6,   8)    44    1.5%   98.8%  
+	[  8,  10)     9    0.3%   99.1%  
+	[ 10,  13)    27    0.9%  100.0%  
 	[ 13,  16)     0    0.0%  100.0%  
 	[ 16,  20)     0    0.0%  100.0%  
 	[ 20,  24)     0    0.0%  100.0%  
 	[ 24, inf)     0    0.0%  100.0%  
-Benchmark_100KB	    2000	   4987528 ns/op	  40.10 MB/s
+Benchmark___10_chunk____1KB-2	    3000	   2426600 ns/op	   8.24 MB/s
 --- Histogram (unit: ms)
-	Count: 2000  Min: 3  Max: 28  Avg: 4.44
+	Count: 3000  Min: 1  Max: 11  Avg: 2.15
 	------------------------------------------------------------
-	[  3,   4)  1846   92.3%   92.3%  #########
-	[  4,   5)     3    0.2%   92.5%  
-	[  5,   6)     0    0.0%   92.5%  
-	[  6,   7)     0    0.0%   92.5%  
-	[  7,   9)    28    1.4%   93.9%  
-	[  9,  11)     1    0.1%   93.9%  
-	[ 11,  14)     0    0.0%   93.9%  
-	[ 14,  18)     0    0.0%   93.9%  
-	[ 18,  23)    29    1.5%   95.4%  
-	[ 23,  29)    93    4.7%  100.0%  
-	[ 29,  37)     0    0.0%  100.0%  
-	[ 37,  47)     0    0.0%  100.0%  
-	[ 47,  60)     0    0.0%  100.0%  
-	[ 60,  76)     0    0.0%  100.0%  
-	[ 76,  96)     0    0.0%  100.0%  
-	[ 96, 120)     0    0.0%  100.0%  
-	[120, inf)     0    0.0%  100.0%  
-Benchmark_100KB-2	    2000	   3358703 ns/op	  59.55 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 2  Max: 15  Avg: 2.78
-	------------------------------------------------------------
-	[  2,   3)  1755   87.8%   87.8%  #########
-	[  3,   4)    74    3.7%   91.5%  
-	[  4,   5)    53    2.7%   94.1%  
-	[  5,   6)     0    0.0%   94.1%  
-	[  6,   7)     0    0.0%   94.1%  
-	[  7,   9)     0    0.0%   94.1%  
-	[  9,  11)     0    0.0%   94.1%  
-	[ 11,  14)    36    1.8%   95.9%  
-	[ 14,  17)    82    4.1%  100.0%  
-	[ 17,  21)     0    0.0%  100.0%  
-	[ 21,  26)     0    0.0%  100.0%  
-	[ 26,  32)     0    0.0%  100.0%  
-	[ 32,  39)     0    0.0%  100.0%  
-	[ 39, inf)     0    0.0%  100.0%  
-
-Benchmark____1_chunk_____1B	    3000	   2147302 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 1  Max: 4  Avg: 1.43
-	------------------------------------------------------------
-	[  1,   2)  2049   68.3%   68.3%  #######
-	[  2,   3)   628   20.9%   89.2%  ##
-	[  3,   4)   321   10.7%   99.9%  #
-	[  4, inf)     2    0.1%  100.0%  
-Benchmark____1_chunk_____1B-2	    5000	   1892882 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 4  Avg: 1.20
-	------------------------------------------------------------
-	[  1,   2)  4363   87.3%   87.3%  #########
-	[  2,   3)   286    5.7%   93.0%  #
-	[  3,   4)   350    7.0%  100.0%  #
-	[  4, inf)     1    0.0%  100.0%  
-Benchmark____1_chunk____10B	    3000	   2225520 ns/op	   0.01 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 1  Max: 7  Avg: 1.44
-	------------------------------------------------------------
-	[  1,   2)  2609   87.0%   87.0%  #########
-	[  2,   3)    62    2.1%   89.0%  
-	[  3,   4)    75    2.5%   91.5%  
-	[  4,   5)    46    1.5%   93.1%  
-	[  5,   6)    90    3.0%   96.1%  
-	[  6,   7)   112    3.7%   99.8%  
-	[  7, inf)     6    0.2%  100.0%  
-Benchmark____1_chunk____10B-2	    5000	   1921505 ns/op	   0.01 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 6  Avg: 1.21
-	------------------------------------------------------------
-	[  1,   2)  4576   91.5%   91.5%  #########
-	[  2,   3)   100    2.0%   93.5%  
-	[  3,   4)    27    0.5%   94.1%  
-	[  4,   5)   279    5.6%   99.6%  #
-	[  5,   6)    17    0.3%  100.0%  
-	[  6, inf)     1    0.0%  100.0%  
-Benchmark____1_chunk___100B	    3000	   2282133 ns/op	   0.09 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 1  Max: 11  Avg: 1.47
-	------------------------------------------------------------
-	[  1,   2)  2705   90.2%   90.2%  #########
-	[  2,   3)    66    2.2%   92.4%  
-	[  3,   4)    13    0.4%   92.8%  
-	[  4,   5)    59    2.0%   94.8%  
-	[  5,   6)     0    0.0%   94.8%  
-	[  6,   8)    68    2.3%   97.0%  
-	[  8,  10)    51    1.7%   98.7%  
-	[ 10,  12)    38    1.3%  100.0%  
+	[  1,   2)   119    4.0%    4.0%  
+	[  2,   3)  2730   91.0%   95.0%  #########
+	[  3,   4)    59    2.0%   96.9%  
+	[  4,   5)     0    0.0%   96.9%  
+	[  5,   6)     1    0.0%   97.0%  
+	[  6,   8)    55    1.8%   98.8%  
+	[  8,  10)    10    0.3%   99.1%  
+	[ 10,  12)    26    0.9%  100.0%  
 	[ 12,  15)     0    0.0%  100.0%  
 	[ 15,  18)     0    0.0%  100.0%  
 	[ 18, inf)     0    0.0%  100.0%  
-Benchmark____1_chunk___100B-2	    5000	   1953792 ns/op	   0.10 MB/s
+Benchmark___10_chunk___10KB-2	    2000	   3151285 ns/op	  63.47 MB/s
 --- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 6  Avg: 1.25
+	Count: 2000  Min: 2  Max: 12  Avg: 2.51
 	------------------------------------------------------------
-	[  1,   2)  4543   90.9%   90.9%  #########
-	[  2,   3)   234    4.7%   95.5%  
-	[  3,   4)     0    0.0%   95.5%  
-	[  4,   5)     0    0.0%   95.5%  
-	[  5,   6)    91    1.8%   97.4%  
-	[  6, inf)   132    2.6%  100.0%  
-Benchmark____1_chunk____1KB	    3000	   2417281 ns/op	   0.83 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 1  Max: 19  Avg: 1.63
-	------------------------------------------------------------
-	[  1,   2)  2522   84.1%   84.1%  ########
-	[  2,   3)   331   11.0%   95.1%  #
-	[  3,   4)     1    0.0%   95.1%  
-	[  4,   5)     1    0.0%   95.2%  
-	[  5,   7)    30    1.0%   96.2%  
-	[  7,   9)     2    0.1%   96.2%  
-	[  9,  12)    30    1.0%   97.2%  
-	[ 12,  15)    49    1.6%   98.9%  
-	[ 15,  19)    33    1.1%  100.0%  
-	[ 19,  24)     1    0.0%  100.0%  
-	[ 24,  30)     0    0.0%  100.0%  
-	[ 30,  38)     0    0.0%  100.0%  
-	[ 38,  48)     0    0.0%  100.0%  
-	[ 48,  60)     0    0.0%  100.0%  
-	[ 60,  74)     0    0.0%  100.0%  
-	[ 74,  91)     0    0.0%  100.0%  
-	[ 91, inf)     0    0.0%  100.0%  
-Benchmark____1_chunk____1KB-2	    5000	   2015100 ns/op	   0.99 MB/s
---- Histogram (unit: ms)
-	Count: 5000  Min: 1  Max: 8  Avg: 1.30
-	------------------------------------------------------------
-	[  1,   2)  4453   89.1%   89.1%  #########
-	[  2,   3)   379    7.6%   96.6%  #
-	[  3,   4)     0    0.0%   96.6%  
-	[  4,   5)     0    0.0%   96.6%  
-	[  5,   6)     0    0.0%   96.6%  
-	[  6,   7)     0    0.0%   96.6%  
-	[  7,   9)   168    3.4%  100.0%  
-	[  9, inf)     0    0.0%  100.0%  
-Benchmark____1_chunk___10KB	    3000	   2703920 ns/op	   7.40 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 2  Max: 20  Avg: 2.61
-	------------------------------------------------------------
-	[  2,   3)  2858   95.3%   95.3%  ##########
-	[  3,   4)     0    0.0%   95.3%  
-	[  4,   5)     0    0.0%   95.3%  
-	[  5,   6)     0    0.0%   95.3%  
-	[  6,   8)    34    1.1%   96.4%  
-	[  8,  10)     1    0.0%   96.4%  
-	[ 10,  13)     0    0.0%   96.4%  
-	[ 13,  16)    34    1.1%   97.6%  
-	[ 16,  20)    49    1.6%   99.2%  
-	[ 20,  25)    24    0.8%  100.0%  
-	[ 25,  31)     0    0.0%  100.0%  
-	[ 31,  39)     0    0.0%  100.0%  
-	[ 39,  49)     0    0.0%  100.0%  
-	[ 49,  61)     0    0.0%  100.0%  
-	[ 61,  75)     0    0.0%  100.0%  
-	[ 75,  92)     0    0.0%  100.0%  
-	[ 92, inf)     0    0.0%  100.0%  
-Benchmark____1_chunk___10KB-2	    3000	   2201032 ns/op	   9.09 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 1  Max: 11  Avg: 1.48
-	------------------------------------------------------------
-	[  1,   2)  2307   76.9%   76.9%  ########
-	[  2,   3)   593   19.8%   96.7%  ##
-	[  3,   4)     0    0.0%   96.7%  
-	[  4,   5)     0    0.0%   96.7%  
-	[  5,   6)     0    0.0%   96.7%  
-	[  6,   8)     0    0.0%   96.7%  
-	[  8,  10)    50    1.7%   98.3%  
-	[ 10,  12)    50    1.7%  100.0%  
-	[ 12,  15)     0    0.0%  100.0%  
-	[ 15,  18)     0    0.0%  100.0%  
-	[ 18, inf)     0    0.0%  100.0%  
-Benchmark____1_chunk__100KB	    2000	   5233249 ns/op	  38.22 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 3  Max: 27  Avg: 4.53
-	------------------------------------------------------------
-	[  3,   4)  1654   82.7%   82.7%  ########
-	[  4,   5)   130    6.5%   89.2%  #
-	[  5,   6)     0    0.0%   89.2%  
-	[  6,   7)     0    0.0%   89.2%  
-	[  7,   9)    70    3.5%   92.7%  
-	[  9,  11)     2    0.1%   92.8%  
-	[ 11,  14)     0    0.0%   92.8%  
-	[ 14,  18)     0    0.0%   92.8%  
-	[ 18,  23)    87    4.4%   97.2%  
-	[ 23,  29)    57    2.9%  100.0%  
-	[ 29,  37)     0    0.0%  100.0%  
-	[ 37,  47)     0    0.0%  100.0%  
-	[ 47,  59)     0    0.0%  100.0%  
-	[ 59,  74)     0    0.0%  100.0%  
-	[ 74,  93)     0    0.0%  100.0%  
-	[ 93, 117)     0    0.0%  100.0%  
-	[117, inf)     0    0.0%  100.0%  
-Benchmark____1_chunk__100KB-2	    2000	   3569385 ns/op	  56.03 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 2  Max: 13  Avg: 2.82
-	------------------------------------------------------------
-	[  2,   3)  1669   83.5%   83.5%  ########
-	[  3,   4)   163    8.2%   91.6%  #
-	[  4,   5)    29    1.5%   93.1%  
-	[  5,   6)     0    0.0%   93.1%  
-	[  6,   7)     0    0.0%   93.1%  
-	[  7,   9)     0    0.0%   93.1%  
-	[  9,  11)     0    0.0%   93.1%  
-	[ 11,  14)   139    7.0%  100.0%  #
-	[ 14,  17)     0    0.0%  100.0%  
-	[ 17,  21)     0    0.0%  100.0%  
-	[ 21,  25)     0    0.0%  100.0%  
-	[ 25, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk_____1B	    2000	   3741137 ns/op	   0.01 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 2  Max: 29  Avg: 3.15
-	------------------------------------------------------------
-	[  2,   3)  1180   59.0%   59.0%  ######
-	[  3,   4)   739   37.0%   96.0%  ####
-	[  4,   5)     0    0.0%   96.0%  
-	[  5,   6)     0    0.0%   96.0%  
-	[  6,   8)     0    0.0%   96.0%  
-	[  8,  11)     3    0.2%   96.1%  
-	[ 11,  14)    17    0.9%   97.0%  
-	[ 14,  18)     0    0.0%   97.0%  
-	[ 18,  23)    20    1.0%   98.0%  
-	[ 23,  30)    41    2.1%  100.0%  
-	[ 30,  39)     0    0.0%  100.0%  
-	[ 39,  50)     0    0.0%  100.0%  
-	[ 50,  63)     0    0.0%  100.0%  
-	[ 63,  80)     0    0.0%  100.0%  
-	[ 80, 101)     0    0.0%  100.0%  
-	[101, 128)     0    0.0%  100.0%  
-	[128, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk_____1B-2	    3000	   2846887 ns/op	   0.01 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 2  Max: 18  Avg: 2.43
-	------------------------------------------------------------
-	[  2,   3)  2700   90.0%   90.0%  #########
-	[  3,   4)   211    7.0%   97.0%  #
-	[  4,   5)     1    0.0%   97.1%  
-	[  5,   6)     0    0.0%   97.1%  
-	[  6,   8)     0    0.0%   97.1%  
-	[  8,  10)     0    0.0%   97.1%  
-	[ 10,  13)    25    0.8%   97.9%  
-	[ 13,  16)    31    1.0%   98.9%  
-	[ 16,  20)    32    1.1%  100.0%  
-	[ 20,  25)     0    0.0%  100.0%  
-	[ 25,  31)     0    0.0%  100.0%  
-	[ 31,  38)     0    0.0%  100.0%  
-	[ 38,  47)     0    0.0%  100.0%  
-	[ 47,  58)     0    0.0%  100.0%  
-	[ 58,  71)     0    0.0%  100.0%  
-	[ 71,  87)     0    0.0%  100.0%  
-	[ 87, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk____10B	    2000	   3793093 ns/op	   0.05 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 2  Max: 33  Avg: 3.19
-	------------------------------------------------------------
-	[  2,   3)  1187   59.4%   59.4%  ######
-	[  3,   4)   737   36.9%   96.2%  ####
-	[  4,   5)     0    0.0%   96.2%  
-	[  5,   6)     0    0.0%   96.2%  
-	[  6,   8)     0    0.0%   96.2%  
-	[  8,  11)     0    0.0%   96.2%  
-	[ 11,  14)    20    1.0%   97.2%  
-	[ 14,  18)     0    0.0%   97.2%  
-	[ 18,  24)    20    1.0%   98.2%  
-	[ 24,  31)     2    0.1%   98.3%  
-	[ 31,  40)    34    1.7%  100.0%  
-	[ 40,  52)     0    0.0%  100.0%  
-	[ 52,  67)     0    0.0%  100.0%  
-	[ 67,  86)     0    0.0%  100.0%  
-	[ 86, 110)     0    0.0%  100.0%  
-	[110, 140)     0    0.0%  100.0%  
-	[140, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk____10B-2	    3000	   2683120 ns/op	   0.07 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 2  Max: 15  Avg: 2.39
-	------------------------------------------------------------
-	[  2,   3)  2713   90.4%   90.4%  #########
-	[  3,   4)   207    6.9%   97.3%  #
-	[  4,   5)     0    0.0%   97.3%  
-	[  5,   6)     0    0.0%   97.3%  
-	[  6,   7)     0    0.0%   97.3%  
-	[  7,   9)     0    0.0%   97.3%  
-	[  9,  11)     0    0.0%   97.3%  
-	[ 11,  14)     7    0.2%   97.6%  
-	[ 14,  17)    73    2.4%  100.0%  
-	[ 17,  21)     0    0.0%  100.0%  
-	[ 21,  26)     0    0.0%  100.0%  
-	[ 26,  32)     0    0.0%  100.0%  
-	[ 32,  39)     0    0.0%  100.0%  
-	[ 39, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk___100B	    2000	   3847823 ns/op	   0.52 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 2  Max: 38  Avg: 3.35
-	------------------------------------------------------------
-	[  2,   3)   902   45.1%   45.1%  #####
-	[  3,   4)  1034   51.7%   96.8%  #####
-	[  4,   5)     0    0.0%   96.8%  
-	[  5,   7)     0    0.0%   96.8%  
-	[  7,   9)     0    0.0%   96.8%  
-	[  9,  12)     0    0.0%   96.8%  
-	[ 12,  16)    16    0.8%   97.6%  
-	[ 16,  21)     0    0.0%   97.6%  
-	[ 21,  27)    16    0.8%   98.4%  
-	[ 27,  35)     0    0.0%   98.4%  
-	[ 35,  45)    32    1.6%  100.0%  
-	[ 45,  58)     0    0.0%  100.0%  
-	[ 58,  75)     0    0.0%  100.0%  
-	[ 75,  97)     0    0.0%  100.0%  
-	[ 97, 125)     0    0.0%  100.0%  
-	[125, 161)     0    0.0%  100.0%  
-	[161, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk___100B-2	    3000	   2917670 ns/op	   0.69 MB/s
---- Histogram (unit: ms)
-	Count: 3000  Min: 2  Max: 23  Avg: 2.47
-	------------------------------------------------------------
-	[  2,   3)  2687   89.6%   89.6%  #########
-	[  3,   4)   227    7.6%   97.1%  #
-	[  4,   5)    14    0.5%   97.6%  
-	[  5,   6)     0    0.0%   97.6%  
-	[  6,   8)     0    0.0%   97.6%  
-	[  8,  10)     0    0.0%   97.6%  
-	[ 10,  13)     0    0.0%   97.6%  
-	[ 13,  17)    30    1.0%   98.6%  
-	[ 17,  22)    37    1.2%   99.8%  
-	[ 22,  28)     5    0.2%  100.0%  
-	[ 28,  35)     0    0.0%  100.0%  
-	[ 35,  44)     0    0.0%  100.0%  
-	[ 44,  55)     0    0.0%  100.0%  
-	[ 55,  68)     0    0.0%  100.0%  
-	[ 68,  85)     0    0.0%  100.0%  
-	[ 85, 105)     0    0.0%  100.0%  
-	[105, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk____1KB	    2000	   4485605 ns/op	   4.46 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 3  Max: 53  Avg: 4.14
-	------------------------------------------------------------
-	[  3,   4)  1903   95.2%   95.2%  ##########
-	[  4,   5)     3    0.2%   95.3%  
-	[  5,   6)    11    0.6%   95.9%  
-	[  6,   8)    12    0.6%   96.5%  
-	[  8,  10)     0    0.0%   96.5%  
-	[ 10,  13)     0    0.0%   96.5%  
-	[ 13,  17)     0    0.0%   96.5%  
-	[ 17,  23)    22    1.1%   97.6%  
-	[ 23,  31)     0    0.0%   97.6%  
-	[ 31,  41)    22    1.1%   98.7%  
-	[ 41,  54)    27    1.4%  100.0%  
-	[ 54,  71)     0    0.0%  100.0%  
-	[ 71,  93)     0    0.0%  100.0%  
-	[ 93, 122)     0    0.0%  100.0%  
-	[122, 160)     0    0.0%  100.0%  
-	[160, 210)     0    0.0%  100.0%  
-	[210, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk____1KB-2	    2000	   3174383 ns/op	   6.30 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 2  Max: 24  Avg: 2.56
-	------------------------------------------------------------
-	[  2,   3)  1733   86.7%   86.7%  #########
-	[  3,   4)   198    9.9%   96.6%  #
-	[  4,   5)    20    1.0%   97.6%  
-	[  5,   6)     0    0.0%   97.6%  
-	[  6,   8)     0    0.0%   97.6%  
-	[  8,  10)     0    0.0%   97.6%  
-	[ 10,  13)     0    0.0%   97.6%  
-	[ 13,  17)     1    0.1%   97.6%  
-	[ 17,  22)    27    1.4%   99.0%  
-	[ 22,  28)    21    1.1%  100.0%  
-	[ 28,  35)     0    0.0%  100.0%  
-	[ 35,  44)     0    0.0%  100.0%  
-	[ 44,  55)     0    0.0%  100.0%  
-	[ 55,  69)     0    0.0%  100.0%  
-	[ 69,  86)     0    0.0%  100.0%  
-	[ 86, 107)     0    0.0%  100.0%  
-	[107, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk___10KB	    1000	   6269496 ns/op	  31.90 MB/s
---- Histogram (unit: ms)
-	Count: 1000  Min: 4  Max: 46  Avg: 5.53
-	------------------------------------------------------------
-	[  4,   5)   884   88.4%   88.4%  #########
-	[  5,   6)    70    7.0%   95.4%  #
-	[  6,   7)     0    0.0%   95.4%  
-	[  7,   9)     0    0.0%   95.4%  
-	[  9,  11)     0    0.0%   95.4%  
-	[ 11,  14)     0    0.0%   95.4%  
-	[ 14,  18)     7    0.7%   96.1%  
-	[ 18,  23)     0    0.0%   96.1%  
-	[ 23,  30)     0    0.0%   96.1%  
-	[ 30,  39)     7    0.7%   96.8%  
-	[ 39,  51)    32    3.2%  100.0%  
-	[ 51,  66)     0    0.0%  100.0%  
-	[ 66,  85)     0    0.0%  100.0%  
-	[ 85, 110)     0    0.0%  100.0%  
-	[110, 142)     0    0.0%  100.0%  
-	[142, 184)     0    0.0%  100.0%  
-	[184, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk___10KB-2	    2000	   4354054 ns/op	  45.93 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 2  Max: 26  Avg: 3.88
-	------------------------------------------------------------
-	[  2,   3)     3    0.2%    0.2%  
-	[  3,   4)  1758   87.9%   88.1%  #########
-	[  4,   5)    40    2.0%   90.1%  
-	[  5,   6)   120    6.0%   96.1%  #
-	[  6,   8)     1    0.1%   96.1%  
-	[  8,  10)     0    0.0%   96.1%  
-	[ 10,  13)     0    0.0%   96.1%  
-	[ 13,  17)     0    0.0%   96.1%  
-	[ 17,  22)    30    1.5%   97.6%  
-	[ 22,  28)    48    2.4%  100.0%  
-	[ 28,  36)     0    0.0%  100.0%  
-	[ 36,  46)     0    0.0%  100.0%  
-	[ 46,  58)     0    0.0%  100.0%  
-	[ 58,  73)     0    0.0%  100.0%  
-	[ 73,  92)     0    0.0%  100.0%  
-	[ 92, 116)     0    0.0%  100.0%  
-	[116, inf)     0    0.0%  100.0%  
-Benchmark___10_chunk__100KB	     300	  27690944 ns/op	  72.23 MB/s
---- Histogram (unit: ms)
-	Count: 300  Min: 21  Max: 58  Avg: 27.25
-	------------------------------------------------------------
-	[ 21,  22)  209   69.7%   69.7%  #######
-	[ 22,  23)   15    5.0%   74.7%  #
-	[ 23,  24)    1    0.3%   75.0%  
-	[ 24,  26)    0    0.0%   75.0%  
-	[ 26,  28)    0    0.0%   75.0%  
-	[ 28,  31)   22    7.3%   82.3%  #
-	[ 31,  35)    0    0.0%   82.3%  
-	[ 35,  40)    0    0.0%   82.3%  
-	[ 40,  46)    0    0.0%   82.3%  
-	[ 46,  54)   23    7.7%   90.0%  #
-	[ 54,  65)   30   10.0%  100.0%  #
-	[ 65,  79)    0    0.0%  100.0%  
-	[ 79,  96)    0    0.0%  100.0%  
-	[ 96, 118)    0    0.0%  100.0%  
-	[118, 147)    0    0.0%  100.0%  
-	[147, 183)    0    0.0%  100.0%  
-	[183, inf)    0    0.0%  100.0%  
-Benchmark___10_chunk__100KB-2	     500	  15686136 ns/op	 127.50 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 11  Max: 37  Avg: 15.20
-	------------------------------------------------------------
-	[ 11,  12)  147   29.4%   29.4%  ###
-	[ 12,  13)  237   47.4%   76.8%  #####
-	[ 13,  14)   11    2.2%   79.0%  
-	[ 14,  15)    2    0.4%   79.4%  
-	[ 15,  17)   14    2.8%   82.2%  
-	[ 17,  19)    2    0.4%   82.6%  
-	[ 19,  22)    0    0.0%   82.6%  
-	[ 22,  26)    0    0.0%   82.6%  
-	[ 26,  31)   49    9.8%   92.4%  #
-	[ 31,  38)   38    7.6%  100.0%  #
-	[ 38,  46)    0    0.0%  100.0%  
-	[ 46,  56)    0    0.0%  100.0%  
-	[ 56,  69)    0    0.0%  100.0%  
-	[ 69,  85)    0    0.0%  100.0%  
-	[ 85, 105)    0    0.0%  100.0%  
-	[105, 130)    0    0.0%  100.0%  
-	[130, inf)    0    0.0%  100.0%  
-
-Benchmark__100_chunk_____1B	     500	  15105687 ns/op	   0.01 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 14  Max: 16  Avg: 14.60
-	------------------------------------------------------------
-	[ 14,  15)  222   44.4%   44.4%  ####
-	[ 15,  16)  258   51.6%   96.0%  #####
-	[ 16, inf)   20    4.0%  100.0%  
-Benchmark__100_chunk_____1B-2	    1000	  10873485 ns/op	   0.02 MB/s
---- Histogram (unit: ms)
-	Count: 1000  Min: 8  Max: 13  Avg: 10.38
-	------------------------------------------------------------
-	[  8,   9)     5    0.5%    0.5%  
-	[  9,  10)   119   11.9%   12.4%  #
-	[ 10,  11)   465   46.5%   58.9%  #####
-	[ 11,  12)   316   31.6%   90.5%  ###
-	[ 12,  13)    93    9.3%   99.8%  #
-	[ 13, inf)     2    0.2%  100.0%  
-Benchmark__100_chunk____10B	     500	  15092213 ns/op	   0.13 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 13  Max: 17  Avg: 14.67
-	------------------------------------------------------------
-	[ 13,  14)    1    0.2%    0.2%  
-	[ 14,  15)  174   34.8%   35.0%  ###
-	[ 15,  16)  317   63.4%   98.4%  ######
-	[ 16,  17)    7    1.4%   99.8%  
-	[ 17, inf)    1    0.2%  100.0%  
-Benchmark__100_chunk____10B-2	    1000	  10896191 ns/op	   0.18 MB/s
---- Histogram (unit: ms)
-	Count: 1000  Min: 8  Max: 13  Avg: 10.39
-	------------------------------------------------------------
-	[  8,   9)    10    1.0%    1.0%  
-	[  9,  10)   113   11.3%   12.3%  #
-	[ 10,  11)   387   38.7%   51.0%  ####
-	[ 11,  12)   458   45.8%   96.8%  #####
-	[ 12,  13)    31    3.1%   99.9%  
-	[ 13, inf)     1    0.1%  100.0%  
-Benchmark__100_chunk___100B	     500	  15641654 ns/op	   1.28 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 13  Max: 17  Avg: 15.17
-	------------------------------------------------------------
-	[ 13,  14)    1    0.2%    0.2%  
-	[ 14,  15)  106   21.2%   21.4%  ##
-	[ 15,  16)  208   41.6%   63.0%  ####
-	[ 16,  17)  177   35.4%   98.4%  ####
-	[ 17, inf)    8    1.6%  100.0%  
-Benchmark__100_chunk___100B-2	    1000	  11037083 ns/op	   1.81 MB/s
---- Histogram (unit: ms)
-	Count: 1000  Min: 8  Max: 13  Avg: 10.53
-	------------------------------------------------------------
-	[  8,   9)    21    2.1%    2.1%  
-	[  9,  10)   175   17.5%   19.6%  ##
-	[ 10,  11)   285   28.5%   48.1%  ###
-	[ 11,  12)   298   29.8%   77.9%  ###
-	[ 12,  13)   211   21.1%   99.0%  ##
-	[ 13, inf)    10    1.0%  100.0%  
-Benchmark__100_chunk____1KB	     500	  17686556 ns/op	  11.31 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 15  Max: 21  Avg: 17.16
-	------------------------------------------------------------
-	[ 15,  16)   30    6.0%    6.0%  #
-	[ 16,  17)  125   25.0%   31.0%  ###
-	[ 17,  18)  122   24.4%   55.4%  ##
-	[ 18,  19)  191   38.2%   93.6%  ####
-	[ 19,  20)   26    5.2%   98.8%  #
-	[ 20,  21)    4    0.8%   99.6%  
-	[ 21, inf)    2    0.4%  100.0%  
-Benchmark__100_chunk____1KB-2	    1000	  11974933 ns/op	  16.70 MB/s
---- Histogram (unit: ms)
-	Count: 1000  Min: 8  Max: 16  Avg: 11.48
-	------------------------------------------------------------
-	[  8,   9)     6    0.6%    0.6%  
-	[  9,  10)    87    8.7%    9.3%  #
-	[ 10,  11)   202   20.2%   29.5%  ##
-	[ 11,  12)   246   24.6%   54.1%  ##
-	[ 12,  13)   125   12.5%   66.6%  #
-	[ 13,  15)   332   33.2%   99.8%  ###
-	[ 15,  17)     2    0.2%  100.0%  
-	[ 17,  19)     0    0.0%  100.0%  
+	[  2,   3)  1760   88.0%   88.0%  #########
+	[  3,   4)    89    4.5%   92.5%  
+	[  4,   5)    29    1.5%   93.9%  
+	[  5,   6)     0    0.0%   93.9%  
+	[  6,   7)     6    0.3%   94.2%  
+	[  7,   9)    45    2.2%   96.5%  
+	[  9,  11)    29    1.5%   97.9%  
+	[ 11,  13)    42    2.1%  100.0%  
+	[ 13,  16)     0    0.0%  100.0%  
+	[ 16,  19)     0    0.0%  100.0%  
 	[ 19, inf)     0    0.0%  100.0%  
-Benchmark__100_chunk___10KB	     200	  38603079 ns/op	  51.81 MB/s
+Benchmark___10_chunk__100KB-2	    1000	   9469459 ns/op	 211.21 MB/s
 --- Histogram (unit: ms)
-	Count: 200  Min: 35  Max: 41  Avg: 38.10
+	Count: 1000  Min: 6  Max: 14  Avg: 8.96
 	------------------------------------------------------------
-	[ 35,  36)    5    2.5%    2.5%  
-	[ 36,  37)    4    2.0%    4.5%  
-	[ 37,  38)   21   10.5%   15.0%  #
-	[ 38,  39)  123   61.5%   76.5%  ######
-	[ 39,  40)   31   15.5%   92.0%  ##
-	[ 40,  41)   15    7.5%   99.5%  #
-	[ 41, inf)    1    0.5%  100.0%  
-Benchmark__100_chunk___10KB-2	     300	  21864340 ns/op	  91.47 MB/s
---- Histogram (unit: ms)
-	Count: 300  Min: 18  Max: 24  Avg: 21.35
-	------------------------------------------------------------
-	[ 18,  19)    6    2.0%    2.0%  
-	[ 19,  20)   12    4.0%    6.0%  
-	[ 20,  21)   36   12.0%   18.0%  #
-	[ 21,  22)   94   31.3%   49.3%  ###
-	[ 22,  23)  124   41.3%   90.7%  ####
-	[ 23,  24)   24    8.0%   98.7%  #
-	[ 24, inf)    4    1.3%  100.0%  
-Benchmark__100_chunk__100KB	      30	 218748547 ns/op	  91.43 MB/s
---- Histogram (unit: ms)
-	Count: 30  Min: 214  Max: 225  Avg: 218.23
-	------------------------------------------------------------
-	[214, 215)   4   13.3%   13.3%  #
-	[215, 216)   4   13.3%   26.7%  #
-	[216, 217)   3   10.0%   36.7%  #
-	[217, 218)   3   10.0%   46.7%  #
-	[218, 219)   3   10.0%   56.7%  #
-	[219, 221)   5   16.7%   73.3%  ##
-	[221, 223)   4   13.3%   86.7%  #
-	[223, 226)   4   13.3%  100.0%  #
-	[226, 229)   0    0.0%  100.0%  
-	[229, 233)   0    0.0%  100.0%  
-	[233, 237)   0    0.0%  100.0%  
-	[237, inf)   0    0.0%  100.0%  
-Benchmark__100_chunk__100KB-2	      50	 113819574 ns/op	 175.72 MB/s
---- Histogram (unit: ms)
-	Count: 50  Min: 108  Max: 118  Avg: 113.30
-	------------------------------------------------------------
-	[108, 109)   1    2.0%    2.0%  
-	[109, 110)   2    4.0%    6.0%  
-	[110, 111)   1    2.0%    8.0%  
-	[111, 112)   9   18.0%   26.0%  ##
-	[112, 113)   8   16.0%   42.0%  ##
-	[113, 115)  10   20.0%   62.0%  ##
-	[115, 117)  16   32.0%   94.0%  ###
-	[117, 119)   3    6.0%  100.0%  #
-	[119, 122)   0    0.0%  100.0%  
-	[122, 125)   0    0.0%  100.0%  
-	[125, inf)   0    0.0%  100.0%  
-Benchmark___1K_chunk_____1B	      50	 129084503 ns/op	   0.02 MB/s
---- Histogram (unit: ms)
-	Count: 50  Min: 123  Max: 135  Avg: 128.56
-	------------------------------------------------------------
-	[123, 124)   1    2.0%    2.0%  
-	[124, 125)   0    0.0%    2.0%  
-	[125, 126)   1    2.0%    4.0%  
-	[126, 127)   0    0.0%    4.0%  
-	[127, 128)   9   18.0%   22.0%  ##
-	[128, 130)  29   58.0%   80.0%  ######
-	[130, 132)   6   12.0%   92.0%  #
-	[132, 135)   3    6.0%   98.0%  #
-	[135, 138)   1    2.0%  100.0%  
-	[138, 142)   0    0.0%  100.0%  
-	[142, 147)   0    0.0%  100.0%  
-	[147, 153)   0    0.0%  100.0%  
-	[153, inf)   0    0.0%  100.0%  
-Benchmark___1K_chunk_____1B-2	     100	  85455855 ns/op	   0.02 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 78  Max: 99  Avg: 84.98
-	------------------------------------------------------------
-	[ 78,  79)    5    5.0%    5.0%  #
-	[ 79,  80)    3    3.0%    8.0%  
-	[ 80,  81)    8    8.0%   16.0%  #
-	[ 81,  82)   10   10.0%   26.0%  #
-	[ 82,  84)   12   12.0%   38.0%  #
-	[ 84,  86)   19   19.0%   57.0%  ##
-	[ 86,  89)   19   19.0%   76.0%  ##
-	[ 89,  93)   21   21.0%   97.0%  ##
-	[ 93,  98)    1    1.0%   98.0%  
-	[ 98, 104)    2    2.0%  100.0%  
-	[104, 111)    0    0.0%  100.0%  
-	[111, 120)    0    0.0%  100.0%  
-	[120, 131)    0    0.0%  100.0%  
-	[131, 144)    0    0.0%  100.0%  
-	[144, 161)    0    0.0%  100.0%  
-	[161, 181)    0    0.0%  100.0%  
-	[181, inf)    0    0.0%  100.0%  
-Benchmark___1K_chunk____10B	      50	 132496755 ns/op	   0.15 MB/s
---- Histogram (unit: ms)
-	Count: 50  Min: 126  Max: 141  Avg: 131.96
-	------------------------------------------------------------
-	[126, 127)   1    2.0%    2.0%  
-	[127, 128)   0    0.0%    2.0%  
-	[128, 129)   1    2.0%    4.0%  
-	[129, 130)   3    6.0%   10.0%  #
-	[130, 132)  21   42.0%   52.0%  ####
-	[132, 134)  13   26.0%   78.0%  ###
-	[134, 136)   5   10.0%   88.0%  #
-	[136, 139)   3    6.0%   94.0%  #
-	[139, 143)   3    6.0%  100.0%  #
-	[143, 148)   0    0.0%  100.0%  
-	[148, 154)   0    0.0%  100.0%  
-	[154, 161)   0    0.0%  100.0%  
-	[161, 169)   0    0.0%  100.0%  
-	[169, 179)   0    0.0%  100.0%  
-	[179, 191)   0    0.0%  100.0%  
-	[191, inf)   0    0.0%  100.0%  
-Benchmark___1K_chunk____10B-2	     100	  84457521 ns/op	   0.24 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 76  Max: 99  Avg: 83.95
-	------------------------------------------------------------
-	[ 76,  77)    1    1.0%    1.0%  
-	[ 77,  78)    3    3.0%    4.0%  
-	[ 78,  79)    6    6.0%   10.0%  #
-	[ 79,  80)    6    6.0%   16.0%  #
-	[ 80,  82)   11   11.0%   27.0%  #
-	[ 82,  84)   23   23.0%   50.0%  ##
-	[ 84,  87)   28   28.0%   78.0%  ###
-	[ 87,  91)   13   13.0%   91.0%  #
-	[ 91,  96)    8    8.0%   99.0%  #
-	[ 96, 102)    1    1.0%  100.0%  
-	[102, 110)    0    0.0%  100.0%  
-	[110, 119)    0    0.0%  100.0%  
-	[119, 131)    0    0.0%  100.0%  
-	[131, 146)    0    0.0%  100.0%  
-	[146, 164)    0    0.0%  100.0%  
-	[164, 186)    0    0.0%  100.0%  
-	[186, inf)    0    0.0%  100.0%  
-Benchmark___1K_chunk___100B	      50	 134022599 ns/op	   1.49 MB/s
---- Histogram (unit: ms)
-	Count: 50  Min: 127  Max: 138  Avg: 133.44
-	------------------------------------------------------------
-	[127, 128)   1    2.0%    2.0%  
-	[128, 129)   0    0.0%    2.0%  
-	[129, 130)   0    0.0%    2.0%  
-	[130, 131)   1    2.0%    4.0%  
-	[131, 132)   3    6.0%   10.0%  #
-	[132, 134)  27   54.0%   64.0%  #####
-	[134, 136)  11   22.0%   86.0%  ##
-	[136, 139)   7   14.0%  100.0%  #
-	[139, 142)   0    0.0%  100.0%  
-	[142, 146)   0    0.0%  100.0%  
-	[146, 150)   0    0.0%  100.0%  
-	[150, inf)   0    0.0%  100.0%  
-Benchmark___1K_chunk___100B-2	     100	  85330166 ns/op	   2.34 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 76  Max: 96  Avg: 84.86
-	------------------------------------------------------------
-	[ 76,  77)    1    1.0%    1.0%  
-	[ 77,  78)    2    2.0%    3.0%  
-	[ 78,  79)    9    9.0%   12.0%  #
-	[ 79,  80)    5    5.0%   17.0%  #
-	[ 80,  82)    8    8.0%   25.0%  #
-	[ 82,  84)   10   10.0%   35.0%  #
-	[ 84,  87)   29   29.0%   64.0%  ###
-	[ 87,  91)   25   25.0%   89.0%  ###
-	[ 91,  95)    9    9.0%   98.0%  #
-	[ 95, 101)    2    2.0%  100.0%  
-	[101, 108)    0    0.0%  100.0%  
-	[108, 116)    0    0.0%  100.0%  
-	[116, 126)    0    0.0%  100.0%  
-	[126, 139)    0    0.0%  100.0%  
-	[139, 155)    0    0.0%  100.0%  
-	[155, 174)    0    0.0%  100.0%  
-	[174, inf)    0    0.0%  100.0%  
-Benchmark___1K_chunk____1KB	      50	 155794224 ns/op	  12.84 MB/s
---- Histogram (unit: ms)
-	Count: 50  Min: 148  Max: 164  Avg: 155.34
-	------------------------------------------------------------
-	[148, 149)   1    2.0%    2.0%  
-	[149, 150)   0    0.0%    2.0%  
-	[150, 151)   0    0.0%    2.0%  
-	[151, 152)   3    6.0%    8.0%  #
-	[152, 154)   4    8.0%   16.0%  #
-	[154, 156)  20   40.0%   56.0%  ####
-	[156, 159)  17   34.0%   90.0%  ###
-	[159, 162)   3    6.0%   96.0%  #
-	[162, 166)   2    4.0%  100.0%  
-	[166, 171)   0    0.0%  100.0%  
-	[171, 177)   0    0.0%  100.0%  
-	[177, 184)   0    0.0%  100.0%  
-	[184, 193)   0    0.0%  100.0%  
-	[193, 204)   0    0.0%  100.0%  
-	[204, 217)   0    0.0%  100.0%  
-	[217, 233)   0    0.0%  100.0%  
-	[233, inf)   0    0.0%  100.0%  
-Benchmark___1K_chunk____1KB-2	     100	  95134335 ns/op	  21.02 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 81  Max: 105  Avg: 94.59
-	------------------------------------------------------------
-	[ 81,  82)    1    1.0%    1.0%  
-	[ 82,  83)    1    1.0%    2.0%  
-	[ 83,  84)    0    0.0%    2.0%  
-	[ 84,  85)    1    1.0%    3.0%  
-	[ 85,  87)    3    3.0%    6.0%  
-	[ 87,  89)   10   10.0%   16.0%  #
-	[ 89,  92)    6    6.0%   22.0%  #
-	[ 92,  96)   31   31.0%   53.0%  ###
-	[ 96, 101)   39   39.0%   92.0%  ####
-	[101, 107)    8    8.0%  100.0%  #
-	[107, 115)    0    0.0%  100.0%  
-	[115, 125)    0    0.0%  100.0%  
-	[125, 137)    0    0.0%  100.0%  
-	[137, 152)    0    0.0%  100.0%  
-	[152, 171)    0    0.0%  100.0%  
-	[171, 195)    0    0.0%  100.0%  
-	[195, inf)    0    0.0%  100.0%  
-Benchmark___1K_chunk___10KB	      20	 340093645 ns/op	  58.81 MB/s
---- Histogram (unit: ms)
-	Count: 20  Min: 331  Max: 352  Avg: 339.65
-	------------------------------------------------------------
-	[331, 332)   1    5.0%    5.0%  #
-	[332, 333)   2   10.0%   15.0%  #
-	[333, 334)   0    0.0%   15.0%  
-	[334, 335)   0    0.0%   15.0%  
-	[335, 337)   2   10.0%   25.0%  #
-	[337, 339)   4   20.0%   45.0%  ##
-	[339, 342)   5   25.0%   70.0%  ###
-	[342, 346)   3   15.0%   85.0%  ##
-	[346, 351)   2   10.0%   95.0%  #
-	[351, 357)   1    5.0%  100.0%  #
-	[357, 364)   0    0.0%  100.0%  
-	[364, 373)   0    0.0%  100.0%  
-	[373, 384)   0    0.0%  100.0%  
-	[384, 397)   0    0.0%  100.0%  
-	[397, 414)   0    0.0%  100.0%  
-	[414, 434)   0    0.0%  100.0%  
-	[434, inf)   0    0.0%  100.0%  
-Benchmark___1K_chunk___10KB-2	      50	 180545176 ns/op	 110.78 MB/s
---- Histogram (unit: ms)
-	Count: 50  Min: 171  Max: 190  Avg: 180.06
-	------------------------------------------------------------
-	[171, 172)   1    2.0%    2.0%  
-	[172, 173)   0    0.0%    2.0%  
-	[173, 174)   1    2.0%    4.0%  
-	[174, 175)   0    0.0%    4.0%  
-	[175, 177)   7   14.0%   18.0%  #
-	[177, 179)   8   16.0%   34.0%  ##
-	[179, 182)  14   28.0%   62.0%  ###
-	[182, 185)  16   32.0%   94.0%  ###
-	[185, 189)   2    4.0%   98.0%  
-	[189, 194)   1    2.0%  100.0%  
-	[194, 201)   0    0.0%  100.0%  
-	[201, 209)   0    0.0%  100.0%  
-	[209, 219)   0    0.0%  100.0%  
-	[219, 231)   0    0.0%  100.0%  
-	[231, 246)   0    0.0%  100.0%  
-	[246, 264)   0    0.0%  100.0%  
-	[264, inf)   0    0.0%  100.0%  
-Benchmark___1K_chunk__100KB	       3	2241353636 ns/op	  89.23 MB/s
---- Histogram (unit: s)
-	Count: 3  Min: 2  Max: 2  Avg: 2.00
-	------------------------------------------------------------
-	[  2, inf)  3  100.0%  100.0%  ##########
-Benchmark___1K_chunk__100KB-2	       5	1152111781 ns/op	 173.59 MB/s
---- Histogram (unit: s)
-	Count: 5  Min: 1  Max: 1  Avg: 1.00
-	------------------------------------------------------------
-	[  1, inf)  5  100.0%  100.0%  ##########
+	[  6,   7)     1    0.1%    0.1%  
+	[  7,   8)   626   62.6%   62.7%  ######
+	[  8,   9)    52    5.2%   67.9%  #
+	[  9,  10)    13    1.3%   69.2%  
+	[ 10,  11)     2    0.2%   69.4%  
+	[ 11,  13)    58    5.8%   75.2%  #
+	[ 13,  15)   248   24.8%  100.0%  ##
+	[ 15,  17)     0    0.0%  100.0%  
+	[ 17, inf)     0    0.0%  100.0%  
 
-Benchmark__per_chunk____1B	   50000	    124707 ns/op	   0.02 MB/s
-Benchmark__per_chunk____1B-2	  100000	     78017 ns/op	   0.03 MB/s
-Benchmark__per_chunk___10B	   50000	    122584 ns/op	   0.16 MB/s
-Benchmark__per_chunk___10B-2	  100000	     75094 ns/op	   0.27 MB/s
-Benchmark__per_chunk__100B	   50000	    124183 ns/op	   1.61 MB/s
-Benchmark__per_chunk__100B-2	  100000	     74955 ns/op	   2.67 MB/s
-Benchmark__per_chunk___1KB	   50000	    144432 ns/op	  13.85 MB/s
-Benchmark__per_chunk___1KB-2	  100000	     79305 ns/op	  25.22 MB/s
-Benchmark__per_chunk__10KB	   20000	    314733 ns/op	  63.55 MB/s
-Benchmark__per_chunk__10KB-2	   50000	    163532 ns/op	 122.30 MB/s
-Benchmark__per_chunk_100KB	    3000	   2015176 ns/op	  99.25 MB/s
-Benchmark__per_chunk_100KB-2	   10000	   1048505 ns/op	 190.75 MB/s
+Benchmark__100_chunk_____1B-2	     500	  12427739 ns/op	   0.02 MB/s
+--- Histogram (unit: ms)
+	Count: 500  Min: 11  Max: 14  Avg: 11.96
+	------------------------------------------------------------
+	[ 11,  12)  124   24.8%   24.8%  ##
+	[ 12,  13)  279   55.8%   80.6%  ######
+	[ 13,  14)   88   17.6%   98.2%  ##
+	[ 14, inf)    9    1.8%  100.0%  
+Benchmark__100_chunk____10B-2	     500	  12206256 ns/op	   0.16 MB/s
+--- Histogram (unit: ms)
+	Count: 500  Min: 11  Max: 14  Avg: 11.73
+	------------------------------------------------------------
+	[ 11,  12)  189   37.8%   37.8%  ####
+	[ 12,  13)  261   52.2%   90.0%  #####
+	[ 13,  14)   48    9.6%   99.6%  #
+	[ 14, inf)    2    0.4%  100.0%  
+Benchmark__100_chunk___100B-2	     500	  12241029 ns/op	   1.63 MB/s
+--- Histogram (unit: ms)
+	Count: 500  Min: 11  Max: 14  Avg: 11.75
+	------------------------------------------------------------
+	[ 11,  12)  184   36.8%   36.8%  ####
+	[ 12,  13)  265   53.0%   89.8%  #####
+	[ 13,  14)   45    9.0%   98.8%  #
+	[ 14, inf)    6    1.2%  100.0%  
+Benchmark__100_chunk____1KB-2	     500	  13043623 ns/op	  15.33 MB/s
+--- Histogram (unit: ms)
+	Count: 500  Min: 11  Max: 33  Avg: 12.53
+	------------------------------------------------------------
+	[ 11,  12)    3    0.6%    0.6%  
+	[ 12,  13)  284   56.8%   57.4%  ######
+	[ 13,  14)  176   35.2%   92.6%  ####
+	[ 14,  15)   35    7.0%   99.6%  #
+	[ 15,  17)    1    0.2%   99.8%  
+	[ 17,  19)    0    0.0%   99.8%  
+	[ 19,  22)    0    0.0%   99.8%  
+	[ 22,  26)    0    0.0%   99.8%  
+	[ 26,  31)    0    0.0%   99.8%  
+	[ 31,  37)    1    0.2%  100.0%  
+	[ 37,  44)    0    0.0%  100.0%  
+	[ 44,  53)    0    0.0%  100.0%  
+	[ 53,  64)    0    0.0%  100.0%  
+	[ 64,  78)    0    0.0%  100.0%  
+	[ 78,  95)    0    0.0%  100.0%  
+	[ 95, 116)    0    0.0%  100.0%  
+	[116, inf)    0    0.0%  100.0%  
+Benchmark__100_chunk___10KB-2	     500	  18162047 ns/op	 110.12 MB/s
+--- Histogram (unit: ms)
+	Count: 500  Min: 16  Max: 21  Avg: 17.64
+	------------------------------------------------------------
+	[ 16,  17)   79   15.8%   15.8%  ##
+	[ 17,  18)  153   30.6%   46.4%  ###
+	[ 18,  19)  165   33.0%   79.4%  ###
+	[ 19,  20)   78   15.6%   95.0%  ##
+	[ 20,  21)   24    4.8%   99.8%  
+	[ 21, inf)    1    0.2%  100.0%  
+Benchmark__100_chunk__100KB-2	     100	  68538838 ns/op	 291.81 MB/s
+--- Histogram (unit: ms)
+	Count: 100  Min: 65  Max: 71  Avg: 68.06
+	------------------------------------------------------------
+	[ 65,  66)    6    6.0%    6.0%  #
+	[ 66,  67)    7    7.0%   13.0%  #
+	[ 67,  68)   15   15.0%   28.0%  ##
+	[ 68,  69)   35   35.0%   63.0%  ####
+	[ 69,  70)   26   26.0%   89.0%  ###
+	[ 70,  71)    6    6.0%   95.0%  #
+	[ 71, inf)    5    5.0%  100.0%  #
+Benchmark___1K_chunk_____1B-2	     100	 108491530 ns/op	   0.02 MB/s
+--- Histogram (unit: ms)
+	Count: 100  Min: 98  Max: 122  Avg: 107.97
+	------------------------------------------------------------
+	[ 98,  99)    1    1.0%    1.0%  
+	[ 99, 100)    1    1.0%    2.0%  
+	[100, 101)    2    2.0%    4.0%  
+	[101, 102)    4    4.0%    8.0%  
+	[102, 104)    6    6.0%   14.0%  #
+	[104, 106)   12   12.0%   26.0%  #
+	[106, 109)   28   28.0%   54.0%  ###
+	[109, 113)   32   32.0%   86.0%  ###
+	[113, 118)   13   13.0%   99.0%  #
+	[118, 124)    1    1.0%  100.0%  
+	[124, 132)    0    0.0%  100.0%  
+	[132, 142)    0    0.0%  100.0%  
+	[142, 154)    0    0.0%  100.0%  
+	[154, 169)    0    0.0%  100.0%  
+	[169, 188)    0    0.0%  100.0%  
+	[188, 212)    0    0.0%  100.0%  
+	[212, inf)    0    0.0%  100.0%  
+Benchmark___1K_chunk____10B-2	     100	 107576447 ns/op	   0.19 MB/s
+--- Histogram (unit: ms)
+	Count: 100  Min: 97  Max: 119  Avg: 107.04
+	------------------------------------------------------------
+	[ 97,  98)    1    1.0%    1.0%  
+	[ 98,  99)    1    1.0%    2.0%  
+	[ 99, 100)    4    4.0%    6.0%  
+	[100, 101)    1    1.0%    7.0%  
+	[101, 103)    6    6.0%   13.0%  #
+	[103, 105)   15   15.0%   28.0%  ##
+	[105, 108)   28   28.0%   56.0%  ###
+	[108, 112)   29   29.0%   85.0%  ###
+	[112, 117)   13   13.0%   98.0%  #
+	[117, 123)    2    2.0%  100.0%  
+	[123, 130)    0    0.0%  100.0%  
+	[130, 139)    0    0.0%  100.0%  
+	[139, 150)    0    0.0%  100.0%  
+	[150, 164)    0    0.0%  100.0%  
+	[164, 181)    0    0.0%  100.0%  
+	[181, 202)    0    0.0%  100.0%  
+	[202, inf)    0    0.0%  100.0%  
+Benchmark___1K_chunk___100B-2	     100	 108458019 ns/op	   1.84 MB/s
+--- Histogram (unit: ms)
+	Count: 100  Min: 98  Max: 117  Avg: 107.93
+	------------------------------------------------------------
+	[ 98,  99)    1    1.0%    1.0%  
+	[ 99, 100)    1    1.0%    2.0%  
+	[100, 101)    2    2.0%    4.0%  
+	[101, 102)    3    3.0%    7.0%  
+	[102, 104)    9    9.0%   16.0%  #
+	[104, 106)    8    8.0%   24.0%  #
+	[106, 109)   28   28.0%   52.0%  ###
+	[109, 112)   34   34.0%   86.0%  ###
+	[112, 116)   12   12.0%   98.0%  #
+	[116, 121)    2    2.0%  100.0%  
+	[121, 128)    0    0.0%  100.0%  
+	[128, 136)    0    0.0%  100.0%  
+	[136, 146)    0    0.0%  100.0%  
+	[146, 158)    0    0.0%  100.0%  
+	[158, 173)    0    0.0%  100.0%  
+	[173, 191)    0    0.0%  100.0%  
+	[191, inf)    0    0.0%  100.0%  
+Benchmark___1K_chunk____1KB-2	     100	 118334262 ns/op	  16.90 MB/s
+--- Histogram (unit: ms)
+	Count: 100  Min: 105  Max: 129  Avg: 117.82
+	------------------------------------------------------------
+	[105, 106)    2    2.0%    2.0%  
+	[106, 107)    3    3.0%    5.0%  
+	[107, 108)    3    3.0%    8.0%  
+	[108, 109)    3    3.0%   11.0%  
+	[109, 111)    3    3.0%   14.0%  
+	[111, 113)    2    2.0%   16.0%  
+	[113, 116)   10   10.0%   26.0%  #
+	[116, 120)   25   25.0%   51.0%  ###
+	[120, 125)   43   43.0%   94.0%  ####
+	[125, 131)    6    6.0%  100.0%  #
+	[131, 139)    0    0.0%  100.0%  
+	[139, 149)    0    0.0%  100.0%  
+	[149, 161)    0    0.0%  100.0%  
+	[161, 176)    0    0.0%  100.0%  
+	[176, 195)    0    0.0%  100.0%  
+	[195, 219)    0    0.0%  100.0%  
+	[219, inf)    0    0.0%  100.0%  
+Benchmark___1K_chunk___10KB-2	      50	 150361259 ns/op	 133.01 MB/s
+--- Histogram (unit: ms)
+	Count: 50  Min: 144  Max: 156  Avg: 149.92
+	------------------------------------------------------------
+	[144, 145)   3    6.0%    6.0%  #
+	[145, 146)   3    6.0%   12.0%  #
+	[146, 147)   4    8.0%   20.0%  #
+	[147, 148)   4    8.0%   28.0%  #
+	[148, 149)   4    8.0%   36.0%  #
+	[149, 151)   8   16.0%   52.0%  ##
+	[151, 153)  11   22.0%   74.0%  ##
+	[153, 156)  12   24.0%   98.0%  ##
+	[156, 159)   1    2.0%  100.0%  
+	[159, 163)   0    0.0%  100.0%  
+	[163, 168)   0    0.0%  100.0%  
+	[168, 174)   0    0.0%  100.0%  
+	[174, inf)   0    0.0%  100.0%  
+Benchmark___1K_chunk__100KB-2	      10	 691013740 ns/op	 289.43 MB/s
+--- Histogram (unit: ms)
+	Count: 10  Min: 683  Max: 699  Avg: 690.40
+	------------------------------------------------------------
+	[683, 684)   1   10.0%   10.0%  #
+	[684, 685)   0    0.0%   10.0%  
+	[685, 686)   1   10.0%   20.0%  #
+	[686, 687)   0    0.0%   20.0%  
+	[687, 689)   2   20.0%   40.0%  ##
+	[689, 691)   1   10.0%   50.0%  #
+	[691, 694)   3   30.0%   80.0%  ###
+	[694, 697)   1   10.0%   90.0%  #
+	[697, 701)   1   10.0%  100.0%  #
+	[701, 706)   0    0.0%  100.0%  
+	[706, 712)   0    0.0%  100.0%  
+	[712, 719)   0    0.0%  100.0%  
+	[719, 728)   0    0.0%  100.0%  
+	[728, 739)   0    0.0%  100.0%  
+	[739, 752)   0    0.0%  100.0%  
+	[752, 768)   0    0.0%  100.0%  
+	[768, inf)   0    0.0%  100.0%  
 
-Benchmark___10B_mux__100_chunks___10B	     500	  16408021 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 7  Max: 18  Avg: 15.99
+Benchmark__per_chunk____1B-2	  100000	    113488 ns/op	   0.02 MB/s
+Benchmark__per_chunk___10B-2	  100000	    110432 ns/op	   0.18 MB/s
+Benchmark__per_chunk__100B-2	  100000	    109446 ns/op	   1.83 MB/s
+Benchmark__per_chunk___1KB-2	  100000	    118905 ns/op	  16.82 MB/s
+Benchmark__per_chunk__10KB-2	   50000	    165005 ns/op	 121.21 MB/s
+Benchmark__per_chunk_100KB-2	   10000	    672988 ns/op	 297.18 MB/s
+
+Benchmark___10B_mux__100_chunks___10B-2	    3000	   2096423 ns/op	   0.01 MB/s
+--- Histogram (unit: µs)
+	Count: 3000  Min: 853  Max: 7497  Avg: 2095.56
 	------------------------------------------------------------
-	[  7,   8)    1    0.2%    0.2%  
-	[  8,   9)    2    0.4%    0.6%  
-	[  9,  10)    2    0.4%    1.0%  
-	[ 10,  11)    0    0.0%    1.0%  
-	[ 11,  12)    1    0.2%    1.2%  
-	[ 12,  14)    8    1.6%    2.8%  
-	[ 14,  16)   34    6.8%    9.6%  #
-	[ 16,  19)  452   90.4%  100.0%  #########
-	[ 19,  22)    0    0.0%  100.0%  
-	[ 22,  26)    0    0.0%  100.0%  
-	[ 26,  30)    0    0.0%  100.0%  
-	[ 30, inf)    0    0.0%  100.0%  
-Benchmark___10B_mux__100_chunks___10B-2	    2000	   3878477 ns/op	   0.01 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 9  Avg: 3.39
+	[  853,   854)     1    0.0%    0.0%  
+	[  854,   855)     0    0.0%    0.0%  
+	[  855,   858)     0    0.0%    0.0%  
+	[  858,   863)     0    0.0%    0.0%  
+	[  863,   873)     0    0.0%    0.0%  
+	[  873,   891)     0    0.0%    0.0%  
+	[  891,   924)     3    0.1%    0.1%  
+	[  924,   984)    24    0.8%    0.9%  
+	[  984,  1093)   119    4.0%    4.9%  
+	[ 1093,  1289)   580   19.3%   24.2%  ##
+	[ 1289,  1642)  1010   33.7%   57.9%  ###
+	[ 1642,  2277)   488   16.3%   74.2%  ##
+	[ 2277,  3419)   271    9.0%   83.2%  #
+	[ 3419,  5473)   423   14.1%   97.3%  #
+	[ 5473,  9167)    81    2.7%  100.0%  
+	[ 9167, 15811)     0    0.0%  100.0%  
+	[15811,   inf)     0    0.0%  100.0%  
+Benchmark___10B_mux__100_chunks__100B-2	    3000	   2238813 ns/op	   0.01 MB/s
+--- Histogram (unit: µs)
+	Count: 3000  Min: 808  Max: 9123  Avg: 2237.91
 	------------------------------------------------------------
-	[  1,   2)   122    6.1%    6.1%  #
-	[  2,   3)   599   30.0%   36.1%  ###
-	[  3,   4)   439   22.0%   58.0%  ##
-	[  4,   5)   389   19.5%   77.5%  ##
-	[  5,   6)   235   11.8%   89.2%  #
-	[  6,   8)   194    9.7%   98.9%  #
-	[  8,  10)    22    1.1%  100.0%  
-	[ 10,  12)     0    0.0%  100.0%  
-	[ 12, inf)     0    0.0%  100.0%  
-Benchmark___10B_mux__100_chunks__100B	     500	  17052264 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 7  Max: 21  Avg: 16.57
+	[  808,   809)     1    0.0%    0.0%  
+	[  809,   810)     0    0.0%    0.0%  
+	[  810,   813)     0    0.0%    0.0%  
+	[  813,   819)     0    0.0%    0.0%  
+	[  819,   830)     0    0.0%    0.0%  
+	[  830,   850)     0    0.0%    0.0%  
+	[  850,   886)     5    0.2%    0.2%  
+	[  886,   953)     9    0.3%    0.5%  
+	[  953,  1076)    67    2.2%    2.7%  
+	[ 1076,  1300)   493   16.4%   19.2%  ##
+	[ 1300,  1710)  1176   39.2%   58.4%  ####
+	[ 1710,  2459)   507   16.9%   75.3%  ##
+	[ 2459,  3826)   206    6.9%   82.1%  #
+	[ 3826,  6321)   467   15.6%   97.7%  ##
+	[ 6321, 10876)    69    2.3%  100.0%  
+	[10876, 19190)     0    0.0%  100.0%  
+	[19190,   inf)     0    0.0%  100.0%  
+Benchmark___10B_mux__100_chunks___1KB-2	    3000	   2578794 ns/op	   0.01 MB/s
+--- Histogram (unit: µs)
+	Count: 3000  Min: 856  Max: 10981  Avg: 2577.84
 	------------------------------------------------------------
-	[  7,   8)    1    0.2%    0.2%  
-	[  8,   9)    0    0.0%    0.2%  
-	[  9,  10)    0    0.0%    0.2%  
-	[ 10,  11)    1    0.2%    0.4%  
-	[ 11,  13)    1    0.2%    0.6%  
-	[ 13,  15)   53   10.6%   11.2%  #
-	[ 15,  17)  152   30.4%   41.6%  ###
-	[ 17,  20)  281   56.2%   97.8%  ######
-	[ 20,  24)   11    2.2%  100.0%  
-	[ 24,  28)    0    0.0%  100.0%  
-	[ 28,  33)    0    0.0%  100.0%  
-	[ 33,  39)    0    0.0%  100.0%  
-	[ 39,  47)    0    0.0%  100.0%  
-	[ 47,  56)    0    0.0%  100.0%  
-	[ 56, inf)    0    0.0%  100.0%  
-Benchmark___10B_mux__100_chunks__100B-2	    2000	   4022209 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 12  Avg: 3.53
+	[  856,   857)     1    0.0%    0.0%  
+	[  857,   858)     0    0.0%    0.0%  
+	[  858,   861)     0    0.0%    0.0%  
+	[  861,   867)     0    0.0%    0.0%  
+	[  867,   878)     0    0.0%    0.0%  
+	[  878,   899)     1    0.0%    0.1%  
+	[  899,   939)     1    0.0%    0.1%  
+	[  939,  1012)    13    0.4%    0.5%  
+	[ 1012,  1148)    69    2.3%    2.8%  
+	[ 1148,  1401)   392   13.1%   15.9%  #
+	[ 1401,  1869)  1141   38.0%   53.9%  ####
+	[ 1869,  2734)   603   20.1%   74.0%  ##
+	[ 2734,  4334)   228    7.6%   81.6%  #
+	[ 4334,  7294)   466   15.5%   97.2%  ##
+	[ 7294, 12768)    85    2.8%  100.0%  
+	[12768, 22893)     0    0.0%  100.0%  
+	[22893,   inf)     0    0.0%  100.0%  
+Benchmark___10B_mux__100_chunks__10KB-2	    2000	   5713209 ns/op	   0.00 MB/s
+--- Histogram (unit: µs)
+	Count: 2000  Min: 881  Max: 19620  Avg: 5711.99
 	------------------------------------------------------------
-	[  1,   2)    99    5.0%    5.0%  
-	[  2,   3)   733   36.6%   41.6%  ####
-	[  3,   4)   384   19.2%   60.8%  ##
-	[  4,   5)   296   14.8%   75.6%  #
-	[  5,   6)   169    8.5%   84.1%  #
-	[  6,   8)   207   10.4%   94.4%  #
-	[  8,  10)    94    4.7%   99.1%  
-	[ 10,  13)    18    0.9%  100.0%  
-	[ 13,  16)     0    0.0%  100.0%  
-	[ 16,  20)     0    0.0%  100.0%  
-	[ 20,  24)     0    0.0%  100.0%  
-	[ 24, inf)     0    0.0%  100.0%  
-Benchmark___10B_mux__100_chunks___1KB	     500	  19001451 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 7  Max: 23  Avg: 18.44
+	[  881,   882)     1    0.1%    0.1%  
+	[  882,   883)     0    0.0%    0.1%  
+	[  883,   886)     0    0.0%    0.1%  
+	[  886,   893)     0    0.0%    0.1%  
+	[  893,   906)     0    0.0%    0.1%  
+	[  906,   932)     2    0.1%    0.2%  
+	[  932,   983)     7    0.4%    0.5%  
+	[  983,  1081)    40    2.0%    2.5%  
+	[ 1081,  1271)   128    6.4%    8.9%  #
+	[ 1271,  1637)   217   10.9%   19.8%  #
+	[ 1637,  2342)   197    9.9%   29.6%  #
+	[ 2342,  3701)   393   19.7%   49.2%  ##
+	[ 3701,  6320)   314   15.7%   65.0%  ##
+	[ 6320, 11367)   391   19.6%   84.5%  ##
+	[11367, 21092)   310   15.5%  100.0%  ##
+	[21092, 39830)     0    0.0%  100.0%  
+	[39830,   inf)     0    0.0%  100.0%  
+Benchmark___10B_mux___1K_chunks___10B-2	    3000	   2563937 ns/op	   0.01 MB/s
+--- Histogram (unit: µs)
+	Count: 3000  Min: 963  Max: 42356  Avg: 2562.97
 	------------------------------------------------------------
-	[  7,   8)    1    0.2%    0.2%  
-	[  8,   9)    0    0.0%    0.2%  
-	[  9,  10)    0    0.0%    0.2%  
-	[ 10,  11)    0    0.0%    0.2%  
-	[ 11,  13)    2    0.4%    0.6%  
-	[ 13,  15)    3    0.6%    1.2%  
-	[ 15,  18)  244   48.8%   50.0%  #####
-	[ 18,  21)   64   12.8%   62.8%  #
-	[ 21,  25)  186   37.2%  100.0%  ####
-	[ 25,  30)    0    0.0%  100.0%  
-	[ 30,  36)    0    0.0%  100.0%  
-	[ 36,  43)    0    0.0%  100.0%  
-	[ 43,  52)    0    0.0%  100.0%  
-	[ 52,  63)    0    0.0%  100.0%  
-	[ 63,  76)    0    0.0%  100.0%  
-	[ 76,  92)    0    0.0%  100.0%  
-	[ 92, inf)    0    0.0%  100.0%  
-Benchmark___10B_mux__100_chunks___1KB-2	    2000	   4690985 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 14  Avg: 4.20
+	[  963,   964)     2    0.1%    0.1%  
+	[  964,   966)     1    0.0%    0.1%  
+	[  966,   970)     2    0.1%    0.2%  
+	[  970,   978)     0    0.0%    0.2%  
+	[  978,   995)     2    0.1%    0.2%  
+	[  995,  1029)     8    0.3%    0.5%  
+	[ 1029,  1099)    61    2.0%    2.5%  
+	[ 1099,  1241)   302   10.1%   12.6%  #
+	[ 1241,  1530)  1053   35.1%   47.7%  ####
+	[ 1530,  2119)  1182   39.4%   87.1%  ####
+	[ 2119,  3315)   121    4.0%   91.1%  
+	[ 3315,  5745)    71    2.4%   93.5%  
+	[ 5745, 10682)   116    3.9%   97.4%  
+	[10682, 20712)    21    0.7%   98.1%  
+	[20712, 41088)    54    1.8%   99.9%  
+	[41088, 82480)     4    0.1%  100.0%  
+	[82480,   inf)     0    0.0%  100.0%  
+Benchmark___10B_mux___1K_chunks__100B-2	    3000	   2657054 ns/op	   0.01 MB/s
+--- Histogram (unit: µs)
+	Count: 3000  Min: 931  Max: 46417  Avg: 2656.13
 	------------------------------------------------------------
-	[  1,   2)    66    3.3%    3.3%  
-	[  2,   3)   547   27.4%   30.7%  ###
-	[  3,   4)   441   22.1%   52.7%  ##
-	[  4,   5)   267   13.4%   66.0%  #
-	[  5,   6)   228   11.4%   77.5%  #
-	[  6,   8)   213   10.7%   88.1%  #
-	[  8,  10)   118    5.9%   94.0%  #
-	[ 10,  13)    95    4.8%   98.8%  
-	[ 13,  16)    25    1.2%  100.0%  
-	[ 16,  20)     0    0.0%  100.0%  
-	[ 20,  25)     0    0.0%  100.0%  
-	[ 25,  31)     0    0.0%  100.0%  
-	[ 31,  38)     0    0.0%  100.0%  
-	[ 38, inf)     0    0.0%  100.0%  
-Benchmark___10B_mux__100_chunks__10KB	     200	  39337476 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 200  Min: 31  Max: 43  Avg: 38.81
+	[  931,   932)     1    0.0%    0.0%  
+	[  932,   934)     0    0.0%    0.0%  
+	[  934,   938)     0    0.0%    0.0%  
+	[  938,   946)     0    0.0%    0.0%  
+	[  946,   963)     0    0.0%    0.0%  
+	[  963,   998)     7    0.2%    0.3%  
+	[  998,  1070)    40    1.3%    1.6%  
+	[ 1070,  1219)   247    8.2%    9.8%  #
+	[ 1219,  1523)  1090   36.3%   46.2%  ####
+	[ 1523,  2146)  1210   40.3%   86.5%  ####
+	[ 2146,  3420)   129    4.3%   90.8%  
+	[ 3420,  6024)    74    2.5%   93.3%  
+	[ 6024, 11348)   130    4.3%   97.6%  
+	[11348, 22232)    14    0.5%   98.1%  
+	[22232, 44483)    57    1.9%  100.0%  
+	[44483, 89969)     1    0.0%  100.0%  
+	[89969,   inf)     0    0.0%  100.0%  
+Benchmark___10B_mux___1K_chunks___1KB-2	    2000	   2880796 ns/op	   0.01 MB/s
+--- Histogram (unit: µs)
+	Count: 2000  Min: 996  Max: 48649  Avg: 2879.79
 	------------------------------------------------------------
-	[ 31,  32)    1    0.5%    0.5%  
-	[ 32,  33)    0    0.0%    0.5%  
-	[ 33,  34)    0    0.0%    0.5%  
-	[ 34,  35)   28   14.0%   14.5%  #
-	[ 35,  36)   18    9.0%   23.5%  #
-	[ 36,  38)   43   21.5%   45.0%  ##
-	[ 38,  40)    1    0.5%   45.5%  
-	[ 40,  43)   77   38.5%   84.0%  ####
-	[ 43,  46)   32   16.0%  100.0%  ##
-	[ 46,  50)    0    0.0%  100.0%  
-	[ 50,  55)    0    0.0%  100.0%  
-	[ 55,  61)    0    0.0%  100.0%  
-	[ 61, inf)    0    0.0%  100.0%  
-Benchmark___10B_mux__100_chunks__10KB-2	     500	  12546220 ns/op	   0.00 MB/s
+	[  996,   997)     1    0.1%    0.1%  
+	[  997,   999)     0    0.0%    0.1%  
+	[  999,  1003)     0    0.0%    0.1%  
+	[ 1003,  1011)     0    0.0%    0.1%  
+	[ 1011,  1028)     0    0.0%    0.1%  
+	[ 1028,  1064)     0    0.0%    0.1%  
+	[ 1064,  1138)    17    0.9%    0.9%  
+	[ 1138,  1290)   126    6.3%    7.2%  #
+	[ 1290,  1602)   685   34.2%   41.5%  ###
+	[ 1602,  2242)   850   42.5%   84.0%  ####
+	[ 2242,  3556)   145    7.2%   91.2%  #
+	[ 3556,  6251)    42    2.1%   93.3%  
+	[ 6251, 11777)    84    4.2%   97.5%  
+	[11777, 23109)    10    0.5%   98.0%  
+	[23109, 46348)    37    1.9%   99.9%  
+	[46348, 94001)     3    0.2%  100.0%  
+	[94001,   inf)     0    0.0%  100.0%  
+Benchmark___10B_mux___1K_chunks__10KB-2	     300	  20013539 ns/op	   0.00 MB/s
 --- Histogram (unit: ms)
-	Count: 500  Min: 1  Max: 26  Avg: 12.06
+	Count: 300  Min: 1  Max: 68  Avg: 19.55
 	------------------------------------------------------------
-	[  1,   2)   12    2.4%    2.4%  
-	[  2,   3)   72   14.4%   16.8%  #
-	[  3,   4)   32    6.4%   23.2%  #
-	[  4,   5)   22    4.4%   27.6%  
-	[  5,   7)   32    6.4%   34.0%  #
-	[  7,   9)   26    5.2%   39.2%  #
-	[  9,  12)   39    7.8%   47.0%  #
-	[ 12,  16)   61   12.2%   59.2%  #
-	[ 16,  21)  105   21.0%   80.2%  ##
-	[ 21,  27)   99   19.8%  100.0%  ##
-	[ 27,  35)    0    0.0%  100.0%  
-	[ 35,  45)    0    0.0%  100.0%  
-	[ 45,  58)    0    0.0%  100.0%  
-	[ 58,  74)    0    0.0%  100.0%  
-	[ 74,  94)    0    0.0%  100.0%  
-	[ 94, 118)    0    0.0%  100.0%  
-	[118, inf)    0    0.0%  100.0%  
-Benchmark___10B_mux___1K_chunks___10B	     100	  90698047 ns/op	   0.00 MB/s
+	[  1,   2)   47   15.7%   15.7%  ##
+	[  2,   3)   20    6.7%   22.3%  #
+	[  3,   4)   17    5.7%   28.0%  #
+	[  4,   6)   11    3.7%   31.7%  
+	[  6,   9)   12    4.0%   35.7%  
+	[  9,  13)   22    7.3%   43.0%  #
+	[ 13,  18)   20    6.7%   49.7%  #
+	[ 18,  25)   34   11.3%   61.0%  #
+	[ 25,  34)   52   17.3%   78.3%  ##
+	[ 34,  46)   43   14.3%   92.7%  #
+	[ 46,  62)   21    7.0%   99.7%  #
+	[ 62,  83)    1    0.3%  100.0%  
+	[ 83, 111)    0    0.0%  100.0%  
+	[111, 149)    0    0.0%  100.0%  
+	[149, 199)    0    0.0%  100.0%  
+	[199, 265)    0    0.0%  100.0%  
+	[265, inf)    0    0.0%  100.0%  
+Benchmark___1KB_mux__100_chunks___10B-2	    3000	   2184759 ns/op	   0.92 MB/s
+--- Histogram (unit: µs)
+	Count: 3000  Min: 818  Max: 14154  Avg: 2183.87
+	------------------------------------------------------------
+	[  818,   819)     1    0.0%    0.0%  
+	[  819,   820)     0    0.0%    0.0%  
+	[  820,   823)     0    0.0%    0.0%  
+	[  823,   829)     0    0.0%    0.0%  
+	[  829,   841)     1    0.0%    0.1%  
+	[  841,   864)     0    0.0%    0.1%  
+	[  864,   908)     3    0.1%    0.2%  
+	[  908,   992)    16    0.5%    0.7%  
+	[  992,  1150)   179    6.0%    6.7%  #
+	[ 1150,  1448)   869   29.0%   35.6%  ###
+	[ 1448,  2010)  1256   41.9%   77.5%  ####
+	[ 2010,  3069)   149    5.0%   82.5%  
+	[ 3069,  5064)   380   12.7%   95.1%  #
+	[ 5064,  8822)    91    3.0%   98.2%  
+	[ 8822, 15901)    55    1.8%  100.0%  
+	[15901, 29236)     0    0.0%  100.0%  
+	[29236,   inf)     0    0.0%  100.0%  
+Benchmark___1KB_mux__100_chunks__100B-2	    3000	   2260787 ns/op	   0.88 MB/s
+--- Histogram (unit: µs)
+	Count: 3000  Min: 919  Max: 16047  Avg: 2259.90
+	------------------------------------------------------------
+	[  919,   920)     1    0.0%    0.0%  
+	[  920,   921)     0    0.0%    0.0%  
+	[  921,   924)     0    0.0%    0.0%  
+	[  924,   930)     0    0.0%    0.0%  
+	[  930,   943)     1    0.0%    0.1%  
+	[  943,   967)     3    0.1%    0.2%  
+	[  967,  1013)    10    0.3%    0.5%  
+	[ 1013,  1102)    62    2.1%    2.6%  
+	[ 1102,  1271)   287    9.6%   12.1%  #
+	[ 1271,  1593)  1026   34.2%   46.3%  ###
+	[ 1593,  2204)   980   32.7%   79.0%  ###
+	[ 2204,  3365)    98    3.3%   82.3%  
+	[ 3365,  5572)   411   13.7%   96.0%  #
+	[ 5572,  9764)    80    2.7%   98.6%  
+	[ 9764, 17727)    41    1.4%  100.0%  
+	[17727, 32854)     0    0.0%  100.0%  
+	[32854,   inf)     0    0.0%  100.0%  
+Benchmark___1KB_mux__100_chunks___1KB-2	    3000	   2484297 ns/op	   0.81 MB/s
+--- Histogram (unit: µs)
+	Count: 3000  Min: 909  Max: 17797  Avg: 2483.36
+	------------------------------------------------------------
+	[  909,   910)     1    0.0%    0.0%  
+	[  910,   911)     0    0.0%    0.0%  
+	[  911,   914)     0    0.0%    0.0%  
+	[  914,   921)     0    0.0%    0.0%  
+	[  921,   934)     0    0.0%    0.0%  
+	[  934,   959)     2    0.1%    0.1%  
+	[  959,  1008)    17    0.6%    0.7%  
+	[ 1008,  1101)    42    1.4%    2.1%  
+	[ 1101,  1280)   219    7.3%    9.4%  #
+	[ 1280,  1623)   904   30.1%   39.5%  ###
+	[ 1623,  2281)  1155   38.5%   78.0%  ####
+	[ 2281,  3540)   131    4.4%   82.4%  
+	[ 3540,  5950)   396   13.2%   95.6%  #
+	[ 5950, 10562)    64    2.1%   97.7%  
+	[10562, 19387)    69    2.3%  100.0%  
+	[19387, 36275)     0    0.0%  100.0%  
+	[36275,   inf)     0    0.0%  100.0%  
+Benchmark___1KB_mux__100_chunks__10KB-2	    1000	   5790870 ns/op	   0.35 MB/s
+--- Histogram (unit: µs)
+	Count: 1000  Min: 948  Max: 23009  Avg: 5789.90
+	------------------------------------------------------------
+	[  948,   949)     1    0.1%    0.1%  
+	[  949,   950)     0    0.0%    0.1%  
+	[  950,   953)     0    0.0%    0.1%  
+	[  953,   960)     2    0.2%    0.3%  
+	[  960,   974)     0    0.0%    0.3%  
+	[  974,  1002)     2    0.2%    0.5%  
+	[ 1002,  1056)     5    0.5%    1.0%  
+	[ 1056,  1162)    23    2.3%    3.3%  
+	[ 1162,  1369)    49    4.9%    8.2%  
+	[ 1369,  1772)    70    7.0%   15.2%  #
+	[ 1772,  2558)   132   13.2%   28.4%  #
+	[ 2558,  4090)   236   23.6%   52.0%  ##
+	[ 4090,  7074)   123   12.3%   64.3%  #
+	[ 7074, 12888)   290   29.0%   93.3%  ###
+	[12888, 24213)    67    6.7%  100.0%  #
+	[24213, 46274)     0    0.0%  100.0%  
+	[46274,   inf)     0    0.0%  100.0%  
+Benchmark___1KB_mux___1K_chunks___10B-2	    3000	   2732019 ns/op	   0.73 MB/s
+--- Histogram (unit: µs)
+	Count: 3000  Min: 960  Max: 49925  Avg: 2731.11
+	------------------------------------------------------------
+	[  960,   961)     1    0.0%    0.0%  
+	[  961,   963)     0    0.0%    0.0%  
+	[  963,   967)     1    0.0%    0.1%  
+	[  967,   975)     1    0.0%    0.1%  
+	[  975,   992)     2    0.1%    0.2%  
+	[  992,  1028)    11    0.4%    0.5%  
+	[ 1028,  1103)    38    1.3%    1.8%  
+	[ 1103,  1257)   295    9.8%   11.6%  #
+	[ 1257,  1574)  1111   37.0%   48.7%  ####
+	[ 1574,  2225)  1209   40.3%   89.0%  ####
+	[ 2225,  3563)    84    2.8%   91.8%  
+	[ 3563,  6312)    54    1.8%   93.6%  
+	[ 6312, 11960)    61    2.0%   95.6%  
+	[11960, 23562)    76    2.5%   98.1%  
+	[23562, 47397)    53    1.8%   99.9%  
+	[47397, 96362)     3    0.1%  100.0%  
+	[96362,   inf)     0    0.0%  100.0%  
+Benchmark___1KB_mux___1K_chunks__100B-2	    2000	   2642355 ns/op	   0.76 MB/s
+--- Histogram (unit: µs)
+	Count: 2000  Min: 964  Max: 47935  Avg: 2641.43
+	------------------------------------------------------------
+	[  964,   965)     1    0.1%    0.1%  
+	[  965,   967)     0    0.0%    0.1%  
+	[  967,   971)     0    0.0%    0.1%  
+	[  971,   979)     0    0.0%    0.1%  
+	[  979,   996)     1    0.1%    0.1%  
+	[  996,  1032)     3    0.2%    0.2%  
+	[ 1032,  1105)    22    1.1%    1.4%  
+	[ 1105,  1256)   214   10.7%   12.1%  #
+	[ 1256,  1566)   733   36.6%   48.7%  ####
+	[ 1566,  2201)   818   40.9%   89.6%  ####
+	[ 2201,  3502)    73    3.7%   93.2%  
+	[ 3502,  6168)    21    1.1%   94.3%  
+	[ 6168, 11631)    35    1.8%   96.1%  
+	[11631, 22823)    42    2.1%   98.2%  
+	[22823, 45751)    35    1.8%   99.9%  
+	[45751, 92722)     2    0.1%  100.0%  
+	[92722,   inf)     0    0.0%  100.0%  
+Benchmark___1KB_mux___1K_chunks___1KB-2	    2000	   3128442 ns/op	   0.64 MB/s
 --- Histogram (unit: ms)
-	Count: 100  Min: 3  Max: 146  Avg: 90.14
+	Count: 2000  Min: 1  Max: 54  Avg: 2.58
 	------------------------------------------------------------
-	[  3,   4)    1    1.0%    1.0%  
-	[  4,   5)    0    0.0%    1.0%  
-	[  5,   6)    3    3.0%    4.0%  
-	[  6,   8)    1    1.0%    5.0%  
-	[  8,  11)    0    0.0%    5.0%  
-	[ 11,  16)    0    0.0%    5.0%  
-	[ 16,  23)    2    2.0%    7.0%  
-	[ 23,  33)    0    0.0%    7.0%  
-	[ 33,  47)    4    4.0%   11.0%  
-	[ 47,  66)   16   16.0%   27.0%  ##
-	[ 66,  93)   28   28.0%   55.0%  ###
-	[ 93, 131)   30   30.0%   85.0%  ###
-	[131, 183)   15   15.0%  100.0%  ##
-	[183, 256)    0    0.0%  100.0%  
-	[256, 358)    0    0.0%  100.0%  
-	[358, 501)    0    0.0%  100.0%  
-	[501, inf)    0    0.0%  100.0%  
-Benchmark___10B_mux___1K_chunks___10B-2	    2000	   5197620 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 44  Avg: 4.71
-	------------------------------------------------------------
-	[  1,   2)    42    2.1%    2.1%  
-	[  2,   3)   914   45.7%   47.8%  #####
-	[  3,   4)   548   27.4%   75.2%  ###
-	[  4,   6)   191    9.6%   84.8%  #
-	[  6,   8)    48    2.4%   87.2%  
-	[  8,  11)    50    2.5%   89.7%  
-	[ 11,  15)    76    3.8%   93.5%  
-	[ 15,  20)    30    1.5%   95.0%  
-	[ 20,  27)    46    2.3%   97.2%  
-	[ 27,  36)    40    2.0%   99.2%  
-	[ 36,  48)    15    0.8%  100.0%  
-	[ 48,  63)     0    0.0%  100.0%  
-	[ 63,  83)     0    0.0%  100.0%  
-	[ 83, 109)     0    0.0%  100.0%  
-	[109, 142)     0    0.0%  100.0%  
-	[142, 185)     0    0.0%  100.0%  
-	[185, inf)     0    0.0%  100.0%  
-Benchmark___10B_mux___1K_chunks__100B	     100	  94502013 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 4  Max: 157  Avg: 93.97
-	------------------------------------------------------------
-	[  4,   5)    1    1.0%    1.0%  
-	[  5,   6)    0    0.0%    1.0%  
-	[  6,   7)    0    0.0%    1.0%  
-	[  7,   9)    1    1.0%    2.0%  
-	[  9,  12)    0    0.0%    2.0%  
-	[ 12,  17)    0    0.0%    2.0%  
-	[ 17,  24)    0    0.0%    2.0%  
-	[ 24,  34)    1    1.0%    3.0%  
-	[ 34,  48)    3    3.0%    6.0%  
-	[ 48,  68)   19   19.0%   25.0%  ##
-	[ 68,  96)   27   27.0%   52.0%  ###
-	[ 96, 136)   39   39.0%   91.0%  ####
-	[136, 191)    9    9.0%  100.0%  #
-	[191, 269)    0    0.0%  100.0%  
-	[269, 378)    0    0.0%  100.0%  
-	[378, 531)    0    0.0%  100.0%  
-	[531, inf)    0    0.0%  100.0%  
-Benchmark___10B_mux___1K_chunks__100B-2	    2000	   5453937 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 44  Avg: 4.96
-	------------------------------------------------------------
-	[  1,   2)    28    1.4%    1.4%  
-	[  2,   3)   870   43.5%   44.9%  ####
-	[  3,   4)   565   28.2%   73.2%  ###
-	[  4,   6)   245   12.2%   85.4%  #
-	[  6,   8)    41    2.1%   87.5%  
-	[  8,  11)    42    2.1%   89.6%  
-	[ 11,  15)    24    1.2%   90.8%  
-	[ 15,  20)    73    3.7%   94.4%  
-	[ 20,  27)    53    2.7%   97.1%  
-	[ 27,  36)    37    1.9%   98.9%  
-	[ 36,  48)    22    1.1%  100.0%  
-	[ 48,  63)     0    0.0%  100.0%  
-	[ 63,  83)     0    0.0%  100.0%  
-	[ 83, 109)     0    0.0%  100.0%  
-	[109, 142)     0    0.0%  100.0%  
-	[142, 185)     0    0.0%  100.0%  
-	[185, inf)     0    0.0%  100.0%  
-Benchmark___10B_mux___1K_chunks___1KB	     100	 107052234 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 9  Max: 169  Avg: 106.52
-	------------------------------------------------------------
-	[  9,  10)    1    1.0%    1.0%  
-	[ 10,  11)    0    0.0%    1.0%  
-	[ 11,  12)    0    0.0%    1.0%  
-	[ 12,  14)    0    0.0%    1.0%  
-	[ 14,  17)    2    2.0%    3.0%  
-	[ 17,  22)    0    0.0%    3.0%  
-	[ 22,  29)    0    0.0%    3.0%  
-	[ 29,  39)    1    1.0%    4.0%  
-	[ 39,  53)    2    2.0%    6.0%  
-	[ 53,  74)   14   14.0%   20.0%  #
-	[ 74, 103)   38   38.0%   58.0%  ####
-	[103, 144)   11   11.0%   69.0%  #
-	[144, 201)   31   31.0%  100.0%  ###
-	[201, 282)    0    0.0%  100.0%  
-	[282, 396)    0    0.0%  100.0%  
-	[396, 555)    0    0.0%  100.0%  
-	[555, inf)    0    0.0%  100.0%  
-Benchmark___10B_mux___1K_chunks___1KB-2	    2000	   6698998 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 54  Avg: 6.20
-	------------------------------------------------------------
-	[  1,   2)     7    0.4%    0.4%  
-	[  2,   3)   554   27.7%   28.1%  ###
-	[  3,   4)   655   32.8%   60.8%  ###
-	[  4,   6)   433   21.7%   82.5%  ##
-	[  6,   8)    59    3.0%   85.4%  
-	[  8,  11)    38    1.9%   87.3%  
-	[ 11,  15)    41    2.1%   89.4%  
-	[ 15,  21)    63    3.2%   92.5%  
-	[ 21,  29)    45    2.2%   94.8%  
-	[ 29,  39)    61    3.1%   97.8%  
-	[ 39,  53)    40    2.0%   99.8%  
-	[ 53,  71)     4    0.2%  100.0%  
+	[  1,   2)  1494   74.7%   74.7%  #######
+	[  2,   3)   330   16.5%   91.2%  ##
+	[  3,   4)    18    0.9%   92.1%  
+	[  4,   6)    19    1.0%   93.1%  
+	[  6,   8)    12    0.6%   93.7%  
+	[  8,  11)    17    0.9%   94.5%  
+	[ 11,  15)    33    1.7%   96.2%  
+	[ 15,  21)    30    1.5%   97.7%  
+	[ 21,  29)     9    0.5%   98.1%  
+	[ 29,  39)    17    0.9%   99.0%  
+	[ 39,  53)    20    1.0%  100.0%  
+	[ 53,  71)     1    0.1%  100.0%  
 	[ 71,  94)     0    0.0%  100.0%  
 	[ 94, 125)     0    0.0%  100.0%  
 	[125, 165)     0    0.0%  100.0%  
 	[165, 218)     0    0.0%  100.0%  
 	[218, inf)     0    0.0%  100.0%  
-Benchmark___10B_mux___1K_chunks__10KB	     100	  72865483 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 17  Max: 119  Avg: 72.31
+Benchmark___1KB_mux___1K_chunks__10KB-2	     300	  21164935 ns/op	   0.09 MB/s
+--- Histogram (unit: µs)
+	Count: 300  Min: 973  Max: 67388  Avg: 21163.92
 	------------------------------------------------------------
-	[ 17,  18)    4    4.0%    4.0%  
-	[ 18,  19)    2    2.0%    6.0%  
-	[ 19,  20)    0    0.0%    6.0%  
-	[ 20,  22)    1    1.0%    7.0%  
-	[ 22,  25)    1    1.0%    8.0%  
-	[ 25,  29)    0    0.0%    8.0%  
-	[ 29,  35)    1    1.0%    9.0%  
-	[ 35,  43)    8    8.0%   17.0%  #
-	[ 43,  54)    7    7.0%   24.0%  #
-	[ 54,  70)   17   17.0%   41.0%  ##
-	[ 70,  91)   33   33.0%   74.0%  ###
-	[ 91, 120)   26   26.0%  100.0%  ###
-	[120, 160)    0    0.0%  100.0%  
-	[160, 215)    0    0.0%  100.0%  
-	[215, 289)    0    0.0%  100.0%  
-	[289, 391)    0    0.0%  100.0%  
-	[391, inf)    0    0.0%  100.0%  
-Benchmark___10B_mux___1K_chunks__10KB-2	     200	  36049367 ns/op	   0.00 MB/s
---- Histogram (unit: ms)
-	Count: 200  Min: 2  Max: 77  Avg: 35.57
-	------------------------------------------------------------
-	[  2,   3)    9    4.5%    4.5%  
-	[  3,   4)    7    3.5%    8.0%  
-	[  4,   5)    3    1.5%    9.5%  
-	[  5,   7)    6    3.0%   12.5%  
-	[  7,  10)    6    3.0%   15.5%  
-	[ 10,  14)    6    3.0%   18.5%  
-	[ 14,  19)    9    4.5%   23.0%  
-	[ 19,  26)   17    8.5%   31.5%  #
-	[ 26,  36)   29   14.5%   46.0%  #
-	[ 36,  49)   46   23.0%   69.0%  ##
-	[ 49,  66)   54   27.0%   96.0%  ###
-	[ 66,  89)    8    4.0%  100.0%  
-	[ 89, 120)    0    0.0%  100.0%  
-	[120, 162)    0    0.0%  100.0%  
-	[162, 218)    0    0.0%  100.0%  
-	[218, 292)    0    0.0%  100.0%  
-	[292, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux__100_chunks___10B	     500	  17557482 ns/op	   0.11 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 11  Max: 35  Avg: 17.08
-	------------------------------------------------------------
-	[ 11,  12)    4    0.8%    0.8%  
-	[ 12,  13)    3    0.6%    1.4%  
-	[ 13,  14)    0    0.0%    1.4%  
-	[ 14,  15)   98   19.6%   21.0%  ##
-	[ 15,  17)  317   63.4%   84.4%  ######
-	[ 17,  19)   11    2.2%   86.6%  
-	[ 19,  22)    2    0.4%   87.0%  
-	[ 22,  26)    4    0.8%   87.8%  
-	[ 26,  31)    6    1.2%   89.0%  
-	[ 31,  37)   55   11.0%  100.0%  #
-	[ 37,  45)    0    0.0%  100.0%  
-	[ 45,  55)    0    0.0%  100.0%  
-	[ 55,  67)    0    0.0%  100.0%  
-	[ 67,  82)    0    0.0%  100.0%  
-	[ 82, 101)    0    0.0%  100.0%  
-	[101, 125)    0    0.0%  100.0%  
-	[125, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux__100_chunks___10B-2	    2000	   4004379 ns/op	   0.50 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 21  Avg: 3.51
-	------------------------------------------------------------
-	[  1,   2)    40    2.0%    2.0%  
-	[  2,   3)   894   44.7%   46.7%  ####
-	[  3,   4)   504   25.2%   71.9%  ###
-	[  4,   5)   259   13.0%   84.9%  #
-	[  5,   7)   124    6.2%   91.1%  #
-	[  7,   9)    35    1.8%   92.8%  
-	[  9,  12)    88    4.4%   97.2%  
-	[ 12,  16)    32    1.6%   98.8%  
-	[ 16,  20)    16    0.8%   99.6%  
-	[ 20,  26)     8    0.4%  100.0%  
-	[ 26,  33)     0    0.0%  100.0%  
-	[ 33,  41)     0    0.0%  100.0%  
-	[ 41,  51)     0    0.0%  100.0%  
-	[ 51,  64)     0    0.0%  100.0%  
-	[ 64,  80)     0    0.0%  100.0%  
-	[ 80,  99)     0    0.0%  100.0%  
-	[ 99, inf)     0    0.0%  100.0%  
-Benchmark___1KB_mux__100_chunks__100B	     500	  18342199 ns/op	   0.11 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 8  Max: 39  Avg: 17.82
-	------------------------------------------------------------
-	[  8,   9)    1    0.2%    0.2%  
-	[  9,  10)    0    0.0%    0.2%  
-	[ 10,  11)    0    0.0%    0.2%  
-	[ 11,  12)    0    0.0%    0.2%  
-	[ 12,  14)    4    0.8%    1.0%  
-	[ 14,  17)  411   82.2%   83.2%  ########
-	[ 17,  20)   15    3.0%   86.2%  
-	[ 20,  24)    3    0.6%   86.8%  
-	[ 24,  30)    7    1.4%   88.2%  
-	[ 30,  37)   41    8.2%   96.4%  #
-	[ 37,  46)   18    3.6%  100.0%  
-	[ 46,  58)    0    0.0%  100.0%  
-	[ 58,  73)    0    0.0%  100.0%  
-	[ 73,  92)    0    0.0%  100.0%  
-	[ 92, 116)    0    0.0%  100.0%  
-	[116, 146)    0    0.0%  100.0%  
-	[146, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux__100_chunks__100B-2	    2000	   4158739 ns/op	   0.48 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 24  Avg: 3.66
-	------------------------------------------------------------
-	[  1,   2)    27    1.4%    1.4%  
-	[  2,   3)   875   43.8%   45.1%  ####
-	[  3,   4)   522   26.1%   71.2%  ###
-	[  4,   5)   257   12.9%   84.1%  #
-	[  5,   7)   153    7.7%   91.7%  #
-	[  7,   9)    19    1.0%   92.7%  
-	[  9,  12)    51    2.6%   95.2%  
-	[ 12,  16)    58    2.9%   98.1%  
-	[ 16,  21)    20    1.0%   99.1%  
-	[ 21,  27)    18    0.9%  100.0%  
-	[ 27,  35)     0    0.0%  100.0%  
-	[ 35,  44)     0    0.0%  100.0%  
-	[ 44,  56)     0    0.0%  100.0%  
-	[ 56,  71)     0    0.0%  100.0%  
-	[ 71,  89)     0    0.0%  100.0%  
-	[ 89, 111)     0    0.0%  100.0%  
-	[111, inf)     0    0.0%  100.0%  
-Benchmark___1KB_mux__100_chunks___1KB	     300	  20721971 ns/op	   0.10 MB/s
---- Histogram (unit: ms)
-	Count: 300  Min: 13  Max: 42  Avg: 20.25
-	------------------------------------------------------------
-	[ 13,  14)    1    0.3%    0.3%  
-	[ 14,  15)    0    0.0%    0.3%  
-	[ 15,  16)    0    0.0%    0.3%  
-	[ 16,  17)   21    7.0%    7.3%  #
-	[ 17,  19)  213   71.0%   78.3%  #######
-	[ 19,  22)   15    5.0%   83.3%  #
-	[ 22,  25)    3    1.0%   84.3%  
-	[ 25,  29)    7    2.3%   86.7%  
-	[ 29,  35)    8    2.7%   89.3%  
-	[ 35,  42)   31   10.3%   99.7%  #
-	[ 42,  51)    1    0.3%  100.0%  
-	[ 51,  62)    0    0.0%  100.0%  
-	[ 62,  76)    0    0.0%  100.0%  
-	[ 76,  94)    0    0.0%  100.0%  
-	[ 94, 117)    0    0.0%  100.0%  
-	[117, 145)    0    0.0%  100.0%  
-	[145, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux__100_chunks___1KB-2	    2000	   4859684 ns/op	   0.41 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 27  Avg: 4.37
-	------------------------------------------------------------
-	[  1,   2)    16    0.8%    0.8%  
-	[  2,   3)   597   29.9%   30.7%  ###
-	[  3,   4)   522   26.1%   56.8%  ###
-	[  4,   5)   321   16.1%   72.8%  ##
-	[  5,   7)   331   16.6%   89.4%  ##
-	[  7,   9)    57    2.9%   92.2%  
-	[  9,  12)    30    1.5%   93.7%  
-	[ 12,  16)    65    3.2%   97.0%  
-	[ 16,  21)    25    1.2%   98.2%  
-	[ 21,  28)    36    1.8%  100.0%  
-	[ 28,  36)     0    0.0%  100.0%  
-	[ 36,  46)     0    0.0%  100.0%  
-	[ 46,  59)     0    0.0%  100.0%  
-	[ 59,  75)     0    0.0%  100.0%  
-	[ 75,  95)     0    0.0%  100.0%  
-	[ 95, 120)     0    0.0%  100.0%  
-	[120, inf)     0    0.0%  100.0%  
-Benchmark___1KB_mux__100_chunks__10KB	     200	  41306487 ns/op	   0.05 MB/s
---- Histogram (unit: ms)
-	Count: 200  Min: 14  Max: 62  Avg: 40.84
-	------------------------------------------------------------
-	[ 14,  15)    1    0.5%    0.5%  
-	[ 15,  16)    0    0.0%    0.5%  
-	[ 16,  17)    1    0.5%    1.0%  
-	[ 17,  19)    0    0.0%    1.0%  
-	[ 19,  21)    0    0.0%    1.0%  
-	[ 21,  24)    1    0.5%    1.5%  
-	[ 24,  28)    0    0.0%    1.5%  
-	[ 28,  34)    7    3.5%    5.0%  
-	[ 34,  41)  123   61.5%   66.5%  ######
-	[ 41,  51)   20   10.0%   76.5%  #
-	[ 51,  64)   47   23.5%  100.0%  ##
-	[ 64,  81)    0    0.0%  100.0%  
-	[ 81, 103)    0    0.0%  100.0%  
-	[103, 131)    0    0.0%  100.0%  
-	[131, 168)    0    0.0%  100.0%  
-	[168, 215)    0    0.0%  100.0%  
-	[215, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux__100_chunks__10KB-2	     500	  13333632 ns/op	   0.15 MB/s
---- Histogram (unit: ms)
-	Count: 500  Min: 1  Max: 35  Avg: 12.88
-	------------------------------------------------------------
-	[  1,   2)    6    1.2%    1.2%  
-	[  2,   3)   85   17.0%   18.2%  ##
-	[  3,   4)   28    5.6%   23.8%  #
-	[  4,   6)   21    4.2%   28.0%  
-	[  6,   8)   24    4.8%   32.8%  
-	[  8,  11)   58   11.6%   44.4%  #
-	[ 11,  15)   41    8.2%   52.6%  #
-	[ 15,  20)  164   32.8%   85.4%  ###
-	[ 20,  26)   11    2.2%   87.6%  
-	[ 26,  34)   59   11.8%   99.4%  #
-	[ 34,  44)    3    0.6%  100.0%  
-	[ 44,  57)    0    0.0%  100.0%  
-	[ 57,  73)    0    0.0%  100.0%  
-	[ 73,  94)    0    0.0%  100.0%  
-	[ 94, 120)    0    0.0%  100.0%  
-	[120, 153)    0    0.0%  100.0%  
-	[153, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux___1K_chunks___10B	     100	  95489036 ns/op	   0.02 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 6  Max: 149  Avg: 95.00
-	------------------------------------------------------------
-	[  6,   7)    1    1.0%    1.0%  
-	[  7,   8)    0    0.0%    1.0%  
-	[  8,   9)    0    0.0%    1.0%  
-	[  9,  11)    1    1.0%    2.0%  
-	[ 11,  14)    0    0.0%    2.0%  
-	[ 14,  19)    0    0.0%    2.0%  
-	[ 19,  26)    0    0.0%    2.0%  
-	[ 26,  36)    3    3.0%    5.0%  
-	[ 36,  50)    8    8.0%   13.0%  #
-	[ 50,  69)   10   10.0%   23.0%  #
-	[ 69,  96)   21   21.0%   44.0%  ##
-	[ 96, 134)   38   38.0%   82.0%  ####
-	[134, 186)   18   18.0%  100.0%  ##
-	[186, 259)    0    0.0%  100.0%  
-	[259, 361)    0    0.0%  100.0%  
-	[361, 504)    0    0.0%  100.0%  
-	[504, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux___1K_chunks___10B-2	    2000	   5187056 ns/op	   0.39 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 49  Avg: 4.70
-	------------------------------------------------------------
-	[  1,   2)    19    1.0%    1.0%  
-	[  2,   3)   848   42.4%   43.4%  ####
-	[  3,   4)   637   31.9%   75.2%  ###
-	[  4,   6)   247   12.4%   87.6%  #
-	[  6,   8)    26    1.3%   88.9%  
-	[  8,  11)    19    1.0%   89.8%  
-	[ 11,  15)    44    2.2%   92.0%  
-	[ 15,  21)    40    2.0%   94.0%  
-	[ 21,  28)    93    4.7%   98.7%  
-	[ 28,  38)    24    1.2%   99.9%  
-	[ 38,  51)     3    0.2%  100.0%  
-	[ 51,  68)     0    0.0%  100.0%  
-	[ 68,  90)     0    0.0%  100.0%  
-	[ 90, 118)     0    0.0%  100.0%  
-	[118, 155)     0    0.0%  100.0%  
-	[155, 202)     0    0.0%  100.0%  
-	[202, inf)     0    0.0%  100.0%  
-Benchmark___1KB_mux___1K_chunks__100B	     100	  96851485 ns/op	   0.02 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 16  Max: 168  Avg: 96.35
-	------------------------------------------------------------
-	[ 16,  17)    1    1.0%    1.0%  
-	[ 17,  18)    1    1.0%    2.0%  
-	[ 18,  19)    0    0.0%    2.0%  
-	[ 19,  21)    0    0.0%    2.0%  
-	[ 21,  24)    0    0.0%    2.0%  
-	[ 24,  29)    2    2.0%    4.0%  
-	[ 29,  36)    2    2.0%    6.0%  
-	[ 36,  46)    2    2.0%    8.0%  
-	[ 46,  60)    7    7.0%   15.0%  #
-	[ 60,  80)   16   16.0%   31.0%  ##
-	[ 80, 108)   29   29.0%   60.0%  ###
-	[108, 147)   36   36.0%   96.0%  ####
-	[147, 202)    4    4.0%  100.0%  
-	[202, 279)    0    0.0%  100.0%  
-	[279, 387)    0    0.0%  100.0%  
-	[387, 538)    0    0.0%  100.0%  
-	[538, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux___1K_chunks__100B-2	    2000	   5385397 ns/op	   0.37 MB/s
---- Histogram (unit: ms)
-	Count: 2000  Min: 1  Max: 56  Avg: 4.88
-	------------------------------------------------------------
-	[  1,   2)    22    1.1%    1.1%  
-	[  2,   3)   822   41.1%   42.2%  ####
-	[  3,   4)   657   32.9%   75.0%  ###
-	[  4,   6)   262   13.1%   88.2%  #
-	[  6,   8)    33    1.7%   89.8%  
-	[  8,  11)    15    0.8%   90.6%  
-	[ 11,  15)    16    0.8%   91.4%  
-	[ 15,  21)    40    2.0%   93.4%  
-	[ 21,  29)    93    4.7%   98.0%  
-	[ 29,  40)    29    1.5%   99.5%  
-	[ 40,  54)    10    0.5%  100.0%  
-	[ 54,  72)     1    0.1%  100.0%  
-	[ 72,  96)     0    0.0%  100.0%  
-	[ 96, 128)     0    0.0%  100.0%  
-	[128, 170)     0    0.0%  100.0%  
-	[170, 225)     0    0.0%  100.0%  
-	[225, inf)     0    0.0%  100.0%  
-Benchmark___1KB_mux___1K_chunks___1KB	     100	 110514593 ns/op	   0.02 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 6  Max: 174  Avg: 110.01
-	------------------------------------------------------------
-	[  6,   7)    1    1.0%    1.0%  
-	[  7,   8)    0    0.0%    1.0%  
-	[  8,   9)    0    0.0%    1.0%  
-	[  9,  11)    0    0.0%    1.0%  
-	[ 11,  14)    1    1.0%    2.0%  
-	[ 14,  19)    1    1.0%    3.0%  
-	[ 19,  26)    1    1.0%    4.0%  
-	[ 26,  36)    3    3.0%    7.0%  
-	[ 36,  51)    3    3.0%   10.0%  
-	[ 51,  72)   13   13.0%   23.0%  #
-	[ 72, 102)   23   23.0%   46.0%  ##
-	[102, 144)   19   19.0%   65.0%  ##
-	[144, 204)   35   35.0%  100.0%  ####
-	[204, 288)    0    0.0%  100.0%  
-	[288, 407)    0    0.0%  100.0%  
-	[407, 575)    0    0.0%  100.0%  
-	[575, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux___1K_chunks___1KB-2	    1000	   7283778 ns/op	   0.27 MB/s
---- Histogram (unit: ms)
-	Count: 1000  Min: 1  Max: 44  Avg: 6.78
-	------------------------------------------------------------
-	[  1,   2)    23    2.3%    2.3%  
-	[  2,   3)   268   26.8%   29.1%  ###
-	[  3,   4)   295   29.5%   58.6%  ###
-	[  4,   6)   204   20.4%   79.0%  ##
-	[  6,   8)    51    5.1%   84.1%  #
-	[  8,  11)    13    1.3%   85.4%  
-	[ 11,  15)     9    0.9%   86.3%  
-	[ 15,  20)    29    2.9%   89.2%  
-	[ 20,  27)    12    1.2%   90.4%  
-	[ 27,  36)    80    8.0%   98.4%  #
-	[ 36,  48)    16    1.6%  100.0%  
-	[ 48,  63)     0    0.0%  100.0%  
-	[ 63,  83)     0    0.0%  100.0%  
-	[ 83, 109)     0    0.0%  100.0%  
-	[109, 142)     0    0.0%  100.0%  
-	[142, 185)     0    0.0%  100.0%  
-	[185, inf)     0    0.0%  100.0%  
-Benchmark___1KB_mux___1K_chunks__10KB	     100	  76530881 ns/op	   0.03 MB/s
---- Histogram (unit: ms)
-	Count: 100  Min: 17  Max: 137  Avg: 75.99
-	------------------------------------------------------------
-	[ 17,  18)    6    6.0%    6.0%  #
-	[ 18,  19)    0    0.0%    6.0%  
-	[ 19,  20)    1    1.0%    7.0%  
-	[ 20,  22)    2    2.0%    9.0%  
-	[ 22,  25)    0    0.0%    9.0%  
-	[ 25,  29)    0    0.0%    9.0%  
-	[ 29,  35)    0    0.0%    9.0%  
-	[ 35,  44)    5    5.0%   14.0%  #
-	[ 44,  56)   10   10.0%   24.0%  #
-	[ 56,  73)   20   20.0%   44.0%  ##
-	[ 73,  97)   27   27.0%   71.0%  ###
-	[ 97, 130)   28   28.0%   99.0%  ###
-	[130, 176)    1    1.0%  100.0%  
-	[176, 239)    0    0.0%  100.0%  
-	[239, 326)    0    0.0%  100.0%  
-	[326, 445)    0    0.0%  100.0%  
-	[445, inf)    0    0.0%  100.0%  
-Benchmark___1KB_mux___1K_chunks__10KB-2	     200	  38503258 ns/op	   0.05 MB/s
---- Histogram (unit: ms)
-	Count: 200  Min: 2  Max: 80  Avg: 38.01
-	------------------------------------------------------------
-	[  2,   3)   10    5.0%    5.0%  #
-	[  3,   4)    1    0.5%    5.5%  
-	[  4,   5)    2    1.0%    6.5%  
-	[  5,   7)    4    2.0%    8.5%  
-	[  7,  10)    5    2.5%   11.0%  
-	[ 10,  14)   12    6.0%   17.0%  #
-	[ 14,  19)    4    2.0%   19.0%  
-	[ 19,  26)   12    6.0%   25.0%  #
-	[ 26,  36)   36   18.0%   43.0%  ##
-	[ 36,  49)   54   27.0%   70.0%  ###
-	[ 49,  67)   47   23.5%   93.5%  ##
-	[ 67,  91)   13    6.5%  100.0%  #
-	[ 91, 123)    0    0.0%  100.0%  
-	[123, 166)    0    0.0%  100.0%  
-	[166, 224)    0    0.0%  100.0%  
-	[224, 302)    0    0.0%  100.0%  
-	[302, inf)    0    0.0%  100.0%  
+	[   973,    974)    1    0.3%    0.3%  
+	[   974,    976)    0    0.0%    0.3%  
+	[   976,    980)    1    0.3%    0.7%  
+	[   980,    989)    0    0.0%    0.7%  
+	[   989,   1008)    0    0.0%    0.7%  
+	[  1008,   1048)    0    0.0%    0.7%  
+	[  1048,   1132)    2    0.7%    1.3%  
+	[  1132,   1309)    7    2.3%    3.7%  
+	[  1309,   1682)   14    4.7%    8.3%  
+	[  1682,   2464)   15    5.0%   13.3%  #
+	[  2464,   4104)   28    9.3%   22.7%  #
+	[  4104,   7542)   25    8.3%   31.0%  #
+	[  7542,  14749)   37   12.3%   43.3%  #
+	[ 14749,  29860)   72   24.0%   67.3%  ##
+	[ 29860,  61539)   95   31.7%   99.0%  ###
+	[ 61539, 127953)    3    1.0%  100.0%  
+	[127953,    inf)    0    0.0%  100.0%  
diff --git a/profiles/internal/rpc/benchmark/benchmark_test.go b/profiles/internal/rpc/benchmark/benchmark_test.go
index 8bf35c8..4b757a5 100644
--- a/profiles/internal/rpc/benchmark/benchmark_test.go
+++ b/profiles/internal/rpc/benchmark/benchmark_test.go
@@ -113,7 +113,8 @@
 	ctx, shutdown = test.InitForTest()
 
 	var serverStop func()
-	serverAddr, serverStop = internal.StartServer(ctx, v23.GetListenSpec(ctx))
+	serverEP, serverStop := internal.StartServer(ctx, v23.GetListenSpec(ctx))
+	serverAddr = serverEP.Name()
 
 	// Create a VC to exclude the VC setup time from the benchmark.
 	internal.CallEcho(&testing.B{}, ctx, serverAddr, 1, 0, benchmark.NewStats(1))
diff --git a/profiles/internal/rpc/benchmark/benchmarkd/main.go b/profiles/internal/rpc/benchmark/benchmarkd/main.go
index e57ccec..52b53fb 100644
--- a/profiles/internal/rpc/benchmark/benchmarkd/main.go
+++ b/profiles/internal/rpc/benchmark/benchmarkd/main.go
@@ -18,8 +18,8 @@
 	ctx, shutdown := v23.Init()
 	defer shutdown()
 
-	addr, stop := internal.StartServer(ctx, v23.GetListenSpec(ctx))
-	vlog.Infof("Listening on %s", addr)
+	ep, stop := internal.StartServer(ctx, v23.GetListenSpec(ctx))
+	vlog.Infof("Listening on %s", ep.Name())
 	defer stop()
 	<-signals.ShutdownOnSignals(ctx)
 }
diff --git a/profiles/internal/rpc/benchmark/internal/client.go b/profiles/internal/rpc/benchmark/internal/client.go
index d49ffb5..0e8f485 100644
--- a/profiles/internal/rpc/benchmark/internal/client.go
+++ b/profiles/internal/rpc/benchmark/internal/client.go
@@ -11,8 +11,8 @@
 	"time"
 
 	"v.io/v23/context"
-	"v.io/x/lib/vlog"
 
+	"v.io/x/lib/vlog"
 	"v.io/x/ref/profiles/internal/rpc/benchmark"
 	tbm "v.io/x/ref/test/benchmark"
 )
diff --git a/profiles/internal/rpc/benchmark/internal/server.go b/profiles/internal/rpc/benchmark/internal/server.go
index 6cce472..98e2a08 100644
--- a/profiles/internal/rpc/benchmark/internal/server.go
+++ b/profiles/internal/rpc/benchmark/internal/server.go
@@ -7,7 +7,9 @@
 import (
 	"v.io/v23"
 	"v.io/v23/context"
+	"v.io/v23/naming"
 	"v.io/v23/rpc"
+
 	"v.io/x/lib/vlog"
 	"v.io/x/ref/lib/security/securityflag"
 	"v.io/x/ref/profiles/internal/rpc/benchmark"
@@ -35,7 +37,7 @@
 // StartServer starts a server that implements the Benchmark service. The
 // server listens to the given protocol and address, and returns the vanadium
 // address of the server and a callback function to stop the server.
-func StartServer(ctx *context.T, listenSpec rpc.ListenSpec) (string, func()) {
+func StartServer(ctx *context.T, listenSpec rpc.ListenSpec) (naming.Endpoint, func()) {
 	server, err := v23.NewServer(ctx)
 	if err != nil {
 		vlog.Fatalf("NewServer failed: %v", err)
@@ -44,11 +46,14 @@
 	if err != nil {
 		vlog.Fatalf("Listen failed: %v", err)
 	}
+	if len(eps) == 0 {
+		vlog.Fatal("No local address to listen on")
+	}
 
 	if err := server.Serve("", benchmark.BenchmarkServer(&impl{}), securityflag.NewAuthorizerOrDie()); err != nil {
 		vlog.Fatalf("Serve failed: %v", err)
 	}
-	return eps[0].Name(), func() {
+	return eps[0], func() {
 		if err := server.Stop(); err != nil {
 			vlog.Fatalf("Stop() failed: %v", err)
 		}
diff --git a/profiles/internal/rpc/benchmark/main/main.go b/profiles/internal/rpc/benchmark/main/main.go
new file mode 100644
index 0000000..dd145e3
--- /dev/null
+++ b/profiles/internal/rpc/benchmark/main/main.go
@@ -0,0 +1,132 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+import (
+	"flag"
+	"fmt"
+	"runtime"
+	"testing"
+	"time"
+
+	"v.io/v23"
+	"v.io/v23/context"
+	"v.io/v23/naming"
+
+	"v.io/x/lib/vlog"
+	"v.io/x/ref/profiles/internal/rpc/benchmark/internal"
+	"v.io/x/ref/profiles/internal/rpc/stream/manager"
+	_ "v.io/x/ref/profiles/static"
+	"v.io/x/ref/test"
+	"v.io/x/ref/test/benchmark"
+	"v.io/x/ref/test/testutil"
+)
+
+const (
+	payloadSize = 1000
+	chunkCnt    = 1000
+
+	bulkPayloadSize = 1000000
+
+	numCPUs          = 2
+	defaultBenchTime = 5 * time.Second
+)
+
+var (
+	serverEP naming.Endpoint
+	ctx      *context.T
+)
+
+// Benchmark for measuring RPC connection time including authentication.
+//
+// rpc.Client doesn't export an interface for closing connection. So we
+// use the stream manager directly here.
+func benchmarkRPCConnection(b *testing.B) {
+	mp := runtime.GOMAXPROCS(numCPUs)
+	defer runtime.GOMAXPROCS(mp)
+
+	principal := testutil.NewPrincipal("test")
+
+	b.ResetTimer()
+	for i := 0; i < b.N; i++ {
+		client := manager.InternalNew(naming.FixedRoutingID(0xc))
+
+		b.StartTimer()
+
+		_, err := client.Dial(serverEP, principal)
+		if err != nil {
+			vlog.Fatalf("Dial failed: %v", err)
+		}
+
+		b.StopTimer()
+
+		client.Shutdown()
+	}
+}
+
+// Benchmark for non-streaming RPC.
+func benchmarkRPC(b *testing.B) {
+	mp := runtime.GOMAXPROCS(numCPUs)
+	defer runtime.GOMAXPROCS(mp)
+	internal.CallEcho(b, ctx, serverEP.Name(), b.N, payloadSize, benchmark.NewStats(1))
+}
+
+// Benchmark for streaming RPC.
+func benchmarkStreamingRPC(b *testing.B) {
+	mp := runtime.GOMAXPROCS(numCPUs)
+	defer runtime.GOMAXPROCS(mp)
+	internal.CallEchoStream(b, ctx, serverEP.Name(), b.N, chunkCnt, payloadSize, benchmark.NewStats(1))
+}
+
+// Benchmark for measuring throughput in streaming RPC.
+func benchmarkStreamingRPCThroughput(b *testing.B) {
+	mp := runtime.GOMAXPROCS(numCPUs)
+	defer runtime.GOMAXPROCS(mp)
+	internal.CallEchoStream(b, ctx, serverEP.Name(), 1, b.N, bulkPayloadSize, benchmark.NewStats(1))
+}
+
+func msPerRPC(r testing.BenchmarkResult) float64 {
+	return r.T.Seconds() / float64(r.N) * 1000
+}
+
+func rpcPerSec(r testing.BenchmarkResult) float64 {
+	return float64(r.N) / r.T.Seconds()
+}
+func mbPerSec(r testing.BenchmarkResult) float64 {
+	return (float64(r.Bytes) * float64(r.N) / 1e6) / r.T.Seconds()
+}
+
+func runBenchmarks() {
+	r := testing.Benchmark(benchmarkRPCConnection)
+	fmt.Printf("RPC Connection\t%.2f ms/rpc\n", msPerRPC(r))
+
+	// Create a connection to exclude the setup time from the following benchmarks.
+	internal.CallEcho(&testing.B{}, ctx, serverEP.Name(), 1, 0, benchmark.NewStats(1))
+
+	r = testing.Benchmark(benchmarkRPC)
+	fmt.Printf("RPC (echo %vB)\t%.2f ms/rpc (%.2f qps)\n", payloadSize, msPerRPC(r), rpcPerSec(r))
+
+	r = testing.Benchmark(benchmarkStreamingRPC)
+	fmt.Printf("RPC Streaming (echo %vB)\t%.2f ms/rpc\n", payloadSize, msPerRPC(r)/chunkCnt)
+
+	r = testing.Benchmark(benchmarkStreamingRPCThroughput)
+	fmt.Printf("RPC Streaming Throughput (echo %vMB)\t%.2f MB/s\n", bulkPayloadSize/1e6, mbPerSec(r))
+}
+
+func main() {
+	// Set the default benchmark time.
+	flag.Set("test.benchtime", defaultBenchTime.String())
+	test.Init()
+
+	var shutdown v23.Shutdown
+	ctx, shutdown = test.InitForTest()
+	defer shutdown()
+
+	var serverStop func()
+	serverEP, serverStop = internal.StartServer(ctx, v23.GetListenSpec(ctx))
+	defer serverStop()
+
+	runBenchmarks()
+}
diff --git a/profiles/internal/rpc/client.go b/profiles/internal/rpc/client.go
index 8525a47..d8f4c9b 100644
--- a/profiles/internal/rpc/client.go
+++ b/profiles/internal/rpc/client.go
@@ -264,7 +264,7 @@
 	return true
 }
 
-func shouldRetry(action verror.ActionCode, deadline time.Time, opts []rpc.CallOpt) bool {
+func shouldRetry(action verror.ActionCode, requireResolve bool, deadline time.Time, opts []rpc.CallOpt) bool {
 	switch {
 	case noRetry(opts):
 		return false
@@ -272,7 +272,7 @@
 		return false
 	case time.Now().After(deadline):
 		return false
-	case action == verror.RetryRefetch && getNoNamespaceOpt(opts):
+	case requireResolve && getNoNamespaceOpt(opts):
 		// If we're skipping resolution and there are no servers for
 		// this call retrying is not going to help, we can't come up
 		// with new servers if there is no resolution.
@@ -317,12 +317,12 @@
 
 	var lastErr error
 	for retries := uint(0); ; retries++ {
-		call, action, err := c.tryCall(ctx, name, method, args, opts)
+		call, action, requireResolve, err := c.tryCall(ctx, name, method, args, opts)
 		if err == nil {
 			return call, nil
 		}
 		lastErr = err
-		if !shouldRetry(action, deadline, opts) {
+		if !shouldRetry(action, requireResolve, deadline, opts) {
 			span.Annotatef("Cannot retry after error: %s", err)
 			break
 		}
@@ -433,9 +433,10 @@
 // (all that serve "name"), but will invoke the method on at most one of them
 // (the server running on the most preferred protcol and network amongst all
 // the servers that were successfully connected to and authorized).
-func (c *client) tryCall(ctx *context.T, name, method string, args []interface{}, opts []rpc.CallOpt) (rpc.ClientCall, verror.ActionCode, error) {
+// if requireResolve is true on return, then we shouldn't bother retrying unless
+// you can re-resolve.
+func (c *client) tryCall(ctx *context.T, name, method string, args []interface{}, opts []rpc.CallOpt) (call rpc.ClientCall, action verror.ActionCode, requireResolve bool, err error) {
 	var resolved *naming.MountEntry
-	var err error
 	var blessingPattern security.BlessingPattern
 	blessingPattern, name = security.SplitPatternName(name)
 	if resolved, err = c.ns.Resolve(ctx, name, getNamespaceOpts(opts)...); err != nil {
@@ -444,21 +445,21 @@
 		// in the near future.
 		switch {
 		case verror.ErrorID(err) == naming.ErrNoSuchName.ID:
-			return nil, verror.RetryRefetch, verror.New(verror.ErrNoServers, ctx, name)
+			return nil, verror.RetryRefetch, false, verror.New(verror.ErrNoServers, ctx, name)
 		case verror.ErrorID(err) == verror.ErrNoServers.ID:
 			// Avoid wrapping errors unnecessarily.
-			return nil, verror.NoRetry, err
+			return nil, verror.NoRetry, false, err
 		default:
-			return nil, verror.NoRetry, verror.New(verror.ErrNoServers, ctx, name, err)
+			return nil, verror.NoRetry, false, verror.New(verror.ErrNoServers, ctx, name, err)
 		}
 	} else {
 		if len(resolved.Servers) == 0 {
 			// This should never happen.
-			return nil, verror.NoRetry, verror.New(verror.ErrInternal, ctx, name)
+			return nil, verror.NoRetry, true, verror.New(verror.ErrInternal, ctx, name)
 		}
 		// An empty set of protocols means all protocols...
 		if resolved.Servers, err = filterAndOrderServers(resolved.Servers, c.preferredProtocols, c.ipNets); err != nil {
-			return nil, verror.RetryRefetch, verror.New(verror.ErrNoServers, ctx, name, err)
+			return nil, verror.RetryRefetch, true, verror.New(verror.ErrNoServers, ctx, name, err)
 		}
 	}
 
@@ -477,7 +478,7 @@
 	var principal security.Principal
 	if callEncrypted(opts) {
 		if principal = v23.GetPrincipal(ctx); principal == nil {
-			return nil, verror.NoRetry, verror.New(errNoPrincipal, ctx)
+			return nil, verror.NoRetry, false, verror.New(errNoPrincipal, ctx)
 		}
 	}
 
@@ -527,11 +528,11 @@
 			}
 		case <-timeoutChan:
 			vlog.VI(2).Infof("rpc: timeout on connection to server %v ", name)
-			_, _, err := c.failedTryCall(ctx, name, method, responses, ch)
+			_, _, _, err := c.failedTryCall(ctx, name, method, responses, ch)
 			if verror.ErrorID(err) != verror.ErrTimeout.ID {
-				return nil, verror.NoRetry, verror.New(verror.ErrTimeout, ctx, err)
+				return nil, verror.NoRetry, false, verror.New(verror.ErrTimeout, ctx, err)
 			}
-			return nil, verror.NoRetry, err
+			return nil, verror.NoRetry, false, err
 		}
 
 		dc := c.dc
@@ -552,7 +553,7 @@
 			r.flow.SetDeadline(doneChan)
 			fc, err := newFlowClient(ctx, r.flow, r.blessings, dc)
 			if err != nil {
-				return nil, verror.NoRetry, err
+				return nil, verror.NoRetry, false, err
 			}
 
 			if err := fc.prepareBlessingsAndDischarges(ctx, method, r.suffix, args, r.rejectedBlessings, opts); err != nil {
@@ -596,9 +597,9 @@
 
 			deadline, _ := ctx.Deadline()
 			if verr := fc.start(r.suffix, method, args, deadline); verr != nil {
-				return nil, verror.NoRetry, verr
+				return nil, verror.NoRetry, false, verr
 			}
-			return fc, verror.NoRetry, nil
+			return fc, verror.NoRetry, false, nil
 		}
 		if numResponses == len(responses) {
 			return c.failedTryCall(ctx, name, method, responses, ch)
@@ -635,7 +636,7 @@
 // failedTryCall performs asynchronous cleanup for tryCall, and returns an
 // appropriate error from the responses we've already received.  All parallel
 // calls in tryCall failed or we timed out if we get here.
-func (c *client) failedTryCall(ctx *context.T, name, method string, responses []*serverStatus, ch chan *serverStatus) (rpc.ClientCall, verror.ActionCode, error) {
+func (c *client) failedTryCall(ctx *context.T, name, method string, responses []*serverStatus, ch chan *serverStatus) (rpc.ClientCall, verror.ActionCode, bool, error) {
 	go cleanupTryCall(nil, responses, ch)
 	c.ns.FlushCacheEntry(name)
 	suberrs := []verror.SubErr{}
@@ -660,7 +661,7 @@
 	// will require thinking through all of the cases where the RPC can
 	// be retried by the client whilst it's actually being executed on the
 	// server.
-	return nil, topLevelAction, verror.AddSubErrs(verror.New(topLevelError, ctx), ctx, suberrs...)
+	return nil, topLevelAction, false, verror.AddSubErrs(verror.New(topLevelError, ctx), ctx, suberrs...)
 }
 
 // prepareBlessingsAndDischarges prepares blessings and discharges for
diff --git a/profiles/internal/rpc/stream/benchmark/dial_vc.go b/profiles/internal/rpc/stream/benchmark/dial_vc.go
index a355ade..a78484f 100644
--- a/profiles/internal/rpc/stream/benchmark/dial_vc.go
+++ b/profiles/internal/rpc/stream/benchmark/dial_vc.go
@@ -9,6 +9,7 @@
 	"time"
 
 	"v.io/x/ref/profiles/internal/rpc/stream/manager"
+	"v.io/x/ref/profiles/internal/rpc/stream/vc"
 	_ "v.io/x/ref/profiles/static"
 	"v.io/x/ref/test/benchmark"
 	"v.io/x/ref/test/testutil"
@@ -39,8 +40,8 @@
 		b.Fatal(err)
 	}
 
-	// Warmup to create the underlying VIF.
-	_, err = client.Dial(ep, principal)
+	// Create one VC to prevent the underlying VIF from being closed.
+	_, err = client.Dial(ep, principal, vc.IdleTimeout{0})
 	if err != nil {
 		b.Fatal(err)
 	}
@@ -51,7 +52,7 @@
 		b.StartTimer()
 		start := time.Now()
 
-		_, err := client.Dial(ep, principal)
+		VC, err := client.Dial(ep, principal)
 		if err != nil {
 			b.Fatal(err)
 		}
@@ -61,7 +62,7 @@
 
 		stats.Add(duration)
 
-		client.ShutdownEndpoint(ep)
+		VC.Close(nil)
 	}
 
 	client.Shutdown()
diff --git a/profiles/internal/rpc/stream/model.go b/profiles/internal/rpc/stream/model.go
index 446fd86..baf4077 100644
--- a/profiles/internal/rpc/stream/model.go
+++ b/profiles/internal/rpc/stream/model.go
@@ -105,6 +105,10 @@
 type VC interface {
 	Connector
 	Listen() (Listener, error)
+
+	// Close closes the VC and all flows on it, allowing any pending writes in
+	// flows to drain.
+	Close(reason error) error
 }
 
 // VCOpt is the interface for all VC options.
diff --git a/profiles/internal/rpc/stream/vc/vc.go b/profiles/internal/rpc/stream/vc/vc.go
index ec8e694..d15482d 100644
--- a/profiles/internal/rpc/stream/vc/vc.go
+++ b/profiles/internal/rpc/stream/vc/vc.go
@@ -413,8 +413,6 @@
 	f.Release(int(bytes))
 }
 
-// Close closes the VC and all flows on it, allowing any pending writes in the
-// flow to drain.
 func (vc *VC) Close(reason error) error {
 	vlog.VI(1).Infof("Closing VC %v. Reason:%q", vc, reason)
 	vc.mu.Lock()
diff --git a/services/device/device/acl_test.go b/services/device/device/acl_test.go
index e8a3449..bf51feb 100644
--- a/services/device/device/acl_test.go
+++ b/services/device/device/acl_test.go
@@ -58,7 +58,7 @@
 	}})
 
 	if err := cmd.Execute([]string{"acl", "get", deviceName}); err != nil {
-		t.Fatalf("%v, output: %v, error: %v", err)
+		t.Fatalf("error: %v", err)
 	}
 	if expected, got := strings.TrimSpace(`
 other Read
diff --git a/services/wspr/browsprd/main_nacl.go b/services/wspr/browsprd/main_nacl.go
index 6ef3a7d..98758bc 100644
--- a/services/wspr/browsprd/main_nacl.go
+++ b/services/wspr/browsprd/main_nacl.go
@@ -23,9 +23,11 @@
 	"v.io/x/ref/profiles/internal/lib/websocket"
 	"v.io/x/ref/services/wspr/internal/browspr"
 	"v.io/x/ref/services/wspr/internal/channel/channel_nacl"
+	"v.io/x/ref/services/wspr/internal/rpc/server"
 )
 
 func main() {
+	security.OverrideCaveatValidation(server.CaveatValidation)
 	ppapi.Init(newBrowsprInstance)
 }
 
diff --git a/services/wspr/internal/rpc/server/server.go b/services/wspr/internal/rpc/server/server.go
index 6769ed3..02e05e7 100644
--- a/services/wspr/internal/rpc/server/server.go
+++ b/services/wspr/internal/rpc/server/server.go
@@ -98,6 +98,8 @@
 	statusClose chan struct{}
 }
 
+type serverContextKey struct{}
+
 func NewServer(id uint32, listenSpec *rpc.ListenSpec, helper ServerHelper) (*Server, error) {
 	server := &Server{
 		id:                            id,
@@ -109,7 +111,7 @@
 	}
 	var err error
 	ctx := helper.Context()
-	ctx = context.WithValue(ctx, "customChainValidator", server.wsprCaveatValidator)
+	ctx = context.WithValue(ctx, serverContextKey{}, server)
 	if server.server, err = v23.NewServer(ctx); err != nil {
 		return nil, err
 	}
@@ -343,9 +345,24 @@
 	return errs
 }
 
-// validateCavsInJavascript validates caveats in javascript.
-// It resolves each []security.Caveat in cavs to an error (or nil) and collects them in a slice.
-func (s *Server) validateCavsInJavascript(ctx *context.T, call security.Call, cavs [][]security.Caveat) []error {
+// caveatValidationInGo validates caveats in Go, using the default logic.
+func caveatValidationInGo(ctx *context.T, call security.Call, sets [][]security.Caveat) []error {
+	results := make([]error, len(sets))
+	for i, set := range sets {
+		for _, cav := range set {
+			if err := cav.Validate(ctx, call); err != nil {
+				results[i] = err
+				break
+			}
+		}
+	}
+	return results
+}
+
+// caveatValidationInJavascript validates caveats in javascript.  It resolves
+// each []security.Caveat in cavs to an error (or nil) and collects them in a
+// slice.
+func (s *Server) caveatValidationInJavascript(ctx *context.T, call security.Call, cavs [][]security.Caveat) []error {
 	flow := s.helper.CreateNewFlow(s, nil)
 	req := CaveatValidationRequest{
 		Call: ConvertSecurityCall(s.helper, ctx, call, false),
@@ -388,10 +405,19 @@
 	}
 }
 
-// wsprCaveatValidator validates caveats for javascript.
-// Certain caveats (PublicKeyThirdPartyCaveatX) are intercepted and handled in go.
-// This call validateCavsInJavascript to process the remaining caveats in javascript.
-func (s *Server) wsprCaveatValidator(ctx *context.T, call security.Call, cavs [][]security.Caveat) []error {
+// CaveatValidation implements a function suitable for passing to
+// security.OverrideCaveatValidation.
+//
+// Certain caveats (PublicKeyThirdPartyCaveatX) are intercepted and handled in
+// go, while all other caveats are evaluated in javascript.
+func CaveatValidation(ctx *context.T, call security.Call, cavs [][]security.Caveat) []error {
+	// If the server isn't set in the context, we just perform validation in Go.
+	ctxServer := ctx.Value(serverContextKey{})
+	if ctxServer == nil {
+		return caveatValidationInGo(ctx, call, cavs)
+	}
+	// Otherwise we run our special logic.
+	server := ctxServer.(*Server)
 	type validationStatus struct {
 		err   error
 		isSet bool
@@ -406,7 +432,7 @@
 			// If the server is closed handle all caveats in Go, because Javascript is
 			// no longer there.
 			select {
-			case <-s.statusClose:
+			case <-server.statusClose:
 				res := cav.Validate(ctx, call)
 				if res != nil {
 					valStatus[i] = validationStatus{
@@ -441,7 +467,7 @@
 		}
 	}
 
-	jsRes := s.validateCavsInJavascript(ctx, call, caveatChainsToValidate)
+	jsRes := server.caveatValidationInJavascript(ctx, call, caveatChainsToValidate)
 
 	outResults := make([]error, len(cavs))
 	jsIndex := 0
diff --git a/services/wspr/wsprd/main.go b/services/wspr/wsprd/main.go
index c5e7068..edc46c8 100644
--- a/services/wspr/wsprd/main.go
+++ b/services/wspr/wsprd/main.go
@@ -2,6 +2,11 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build wspr
+//
+// We restrict wsprd to a special build-tag in order to enable
+// security.OverrideCaveatValidation, which isn't generally available.
+
 // Daemon wsprd implements the wspr web socket proxy as a stand-alone server.
 package main
 
@@ -11,7 +16,6 @@
 	"net"
 
 	"v.io/v23"
-
 	"v.io/x/ref/lib/signals"
 	// TODO(cnicolaou,benj): figure out how to support roaming as a chrome plugin
 	_ "v.io/x/ref/profiles/roaming"
@@ -19,6 +23,7 @@
 )
 
 func main() {
+	wsprlib.OverrideCaveatValidation()
 	port := flag.Int("port", 8124, "Port to listen on.")
 	identd := flag.String("identd", "", "name of identd server.")
 
diff --git a/services/wspr/wsprlib/override.go b/services/wspr/wsprlib/override.go
new file mode 100644
index 0000000..4eb3074
--- /dev/null
+++ b/services/wspr/wsprlib/override.go
@@ -0,0 +1,21 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build wspr
+//
+// We restrict to a special build-tag in order to enable
+// security.OverrideCaveatValidation, which isn't generally available.
+
+package wsprlib
+
+import (
+	"v.io/v23/security"
+	"v.io/x/ref/services/wspr/internal/rpc/server"
+)
+
+// OverrideCaveatValidation overrides caveat validation.  This must be called in
+// order for wspr to be able to delegate caveat validation to javascript.
+func OverrideCaveatValidation() {
+	security.OverrideCaveatValidation(server.CaveatValidation)
+}
diff --git a/test/v23tests/v23tests.go b/test/v23tests/v23tests.go
index 1c40daa..8945296 100644
--- a/test/v23tests/v23tests.go
+++ b/test/v23tests/v23tests.go
@@ -403,41 +403,46 @@
 	}
 }
 
-// BuildGoPkg expects a Go package path that identifies a "main" package and
-// returns a Binary representing the newly built binary. This binary does not
-// use the exec protocol defined in v.io/x/ref/lib/exec and in particular will
-// not have access to the security agent or any other shared file descriptors.
-// Environment variables and command line arguments are the only means of
-// communicating with the invocations of this binary.
+// BuildGoPkg expects a Go package path that identifies a "main" package, and
+// any build flags to pass to "go build", and returns a Binary representing the
+// newly built binary.
+//
+// The resulting binary is assumed to not use the exec protocol defined in
+// v.io/x/ref/lib/exec and in particular will not have access to the security
+// agent or any other shared file descriptors.  Environment variables and
+// command line arguments are the only means of communicating with the
+// invocations of this binary.
+//
 // Use this for non-Vanadium command-line tools and servers.
-func (t *T) BuildGoPkg(pkg string) *Binary {
-	return t.buildPkg(pkg)
+func (t *T) BuildGoPkg(pkg string, flags ...string) *Binary {
+	return t.buildPkg(pkg, flags...)
 }
 
-// BuildV23 is like BuildGoPkg, but instead assumes that the resulting
-// binary is a Vanadium application and does implement the exec protocol
-// defined in v.io/x/ref/lib/exec. The invocations of this binary will
-// have access to the security agent configured for the parent process, to
-// shared file descriptors, the config shared by the exec package.
+// BuildV23 is like BuildGoPkg, but instead assumes that the resulting binary is
+// a Vanadium application and does implement the exec protocol defined in
+// v.io/x/ref/lib/exec.  The invocations of this binary will have access to the
+// security agent configured for the parent process, to shared file descriptors,
+// the config shared by the exec package.
+//
 // Use this for Vanadium servers. Note that some vanadium client only binaries,
-// that do not call v23.Init and hence do not implement the exec protocol
-// cannot be used via BuildV23Pkg.
-func (t *T) BuildV23Pkg(pkg string) *Binary {
-	b := t.buildPkg(pkg)
+// that do not call v23.Init and hence do not implement the exec protocol cannot
+// be used via BuildV23Pkg.
+func (t *T) BuildV23Pkg(pkg string, flags ...string) *Binary {
+	b := t.buildPkg(pkg, flags...)
 	b.opts = t.shell.DefaultStartOpts().ExternalCommand()
 	return b
 }
 
-func (t *T) buildPkg(pkg string) *Binary {
+func (t *T) buildPkg(pkg string, flags ...string) *Binary {
 	then := time.Now()
 	loc := Caller(1)
-	cached, built_path, err := buildPkg(t, t.BinDir(), pkg)
+	cached, built_path, err := buildPkg(t, t.BinDir(), pkg, flags)
 	if err != nil {
-		t.Fatalf("%s: buildPkg(%s) failed: %v", loc, pkg, err)
+		t.Fatalf("%s: buildPkg(%s, %v) failed: %v", loc, pkg, flags, err)
 		return nil
 	}
 	if _, err := os.Stat(built_path); err != nil {
-		t.Fatalf("%s: buildPkg(%s) failed to stat %q", loc, pkg, built_path)
+		t.Fatalf("%s: buildPkg(%s, %v) failed to stat %q", loc, pkg, flags, built_path)
 	}
 	taken := time.Now().Sub(then)
 	if cached {
@@ -551,14 +556,14 @@
 	return t.binDir
 }
 
-// BuildPkg returns a path to a directory that contains the built binary for
+// buildPkg returns a path to a directory that contains the built binary for
 // the given packages and a function that should be invoked to clean up the
 // build artifacts. Note that the clients of this function should not modify
 // the contents of this directory directly and instead defer to the cleanup
 // function.
-func buildPkg(t *T, binDir, pkg string) (bool, string, error) {
+func buildPkg(t *T, binDir, pkg string, flags []string) (bool, string, error) {
 	binFile := filepath.Join(binDir, path.Base(pkg))
-	vlog.Infof("buildPkg: %v .. %v", binDir, pkg)
+	vlog.Infof("buildPkg: %v .. %v %v", binDir, pkg, flags)
 	if _, err := os.Stat(binFile); err != nil {
 		if !os.IsNotExist(err) {
 			return false, "", err
@@ -571,7 +576,10 @@
 		defer os.RemoveAll(tmpdir)
 		uniqueBinFile := filepath.Join(tmpdir, baseName)
 
-		cmd := exec.Command("v23", "go", "build", "-x", "-o", uniqueBinFile, pkg)
+		buildArgs := []string{"go", "build", "-x", "-o", uniqueBinFile}
+		buildArgs = append(buildArgs, flags...)
+		buildArgs = append(buildArgs, pkg)
+		cmd := exec.Command("v23", buildArgs...)
 		if output, err := cmd.CombinedOutput(); err != nil {
 			vlog.VI(1).Infof("\n%v:\n%v\n", strings.Join(cmd.Args, " "), string(output))
 			return false, "", err
