veyron/runtimes/google/ipc: Cleanup IPC benchmarks.
Go 1.4 TestMain allows to run a custom main even with go test command.
This cl adds a new benchmark utils to inject additional stats (histogram)
outputs to the benchmark results.
I also renamed ipc/benchmarks to ipc/benchmark for consistency
as all other benchmark directories.
A new benchmark results show that IPC performance (specially with small
payloads) gets slowed down by 2X than 2-weeks ago.
Change-Id: Iccc136a6363ddb33e27fc72d0940fa8f8c00f178
diff --git a/lib/testutil/stats.go b/lib/testutil/benchmark/stats.go
similarity index 62%
rename from lib/testutil/stats.go
rename to lib/testutil/benchmark/stats.go
index d3d3397..62790a6 100644
--- a/lib/testutil/stats.go
+++ b/lib/testutil/benchmark/stats.go
@@ -1,4 +1,4 @@
-package testutil
+package benchmark
import (
"bytes"
@@ -10,9 +10,9 @@
"v.io/core/veyron/lib/stats/histogram"
)
-// BenchStats is a simple helper for gathering additional statistics
-// like histogram during benchmarks. This is not thread safe.
-type BenchStats struct {
+// Stats is a simple helper for gathering additional statistics like histogram
+// during benchmarks. This is not thread safe.
+type Stats struct {
numBuckets int
unit time.Duration
min, max int64
@@ -24,35 +24,36 @@
type durationSlice []time.Duration
-// NewBenchStats creates a new BenchStats instance. If numBuckets is not
-// positive, the default value (16) will be used.
-func NewBenchStats(numBuckets int) *BenchStats {
+// NewStats creates a new Stats instance. If numBuckets is not positive,
+// the default value (16) will be used.
+func NewStats(numBuckets int) *Stats {
if numBuckets <= 0 {
numBuckets = 16
}
- return &BenchStats{
+ return &Stats{
// Use one more bucket for the last unbounded bucket.
numBuckets: numBuckets + 1,
durations: make(durationSlice, 0, 100000),
}
}
-// Add adds an elapsed time per operation to the BenchStats.
-func (stats *BenchStats) Add(d time.Duration) {
+// Add adds an elapsed time per operation to the stats.
+func (stats *Stats) Add(d time.Duration) {
stats.durations = append(stats.durations, d)
stats.dirty = true
}
// Clear resets the stats, removing all values.
-func (stats *BenchStats) Clear() {
+func (stats *Stats) Clear() {
stats.durations = stats.durations[:0]
- stats.dirty = true
+ stats.histogram = nil
+ stats.dirty = false
}
// maybeUpdate updates internal stat data if there was any newly added
// stats since this was updated.
-func (stats *BenchStats) maybeUpdate() {
- if !stats.dirty || len(stats.durations) == 0 {
+func (stats *Stats) maybeUpdate() {
+ if !stats.dirty {
return
}
@@ -79,9 +80,12 @@
// Adjust the min/max according to the new unit.
stats.min /= int64(stats.unit)
stats.max /= int64(stats.unit)
-
+ numBuckets := stats.numBuckets
+ if n := int(stats.max - stats.min + 1); n < numBuckets {
+ numBuckets = n
+ }
stats.histogram = histogram.New(histogram.Options{
- NumBuckets: stats.numBuckets,
+ NumBuckets: numBuckets,
// max(i.e., Nth lower bound) = min + (1 + growthFactor)^(numBuckets-2).
GrowthFactor: math.Pow(float64(stats.max-stats.min), 1/float64(stats.numBuckets-2)) - 1,
SmallestBucketSize: 1.0,
@@ -94,16 +98,20 @@
stats.dirty = false
}
-// Print writes textual output of the BenchStats.
-func (stats *BenchStats) Print(w io.Writer) {
+// Print writes textual output of the Stats.
+func (stats *Stats) Print(w io.Writer) {
stats.maybeUpdate()
- fmt.Fprintf(w, "Histogram (unit: %s)\n", fmt.Sprintf("%v", stats.unit)[1:])
- stats.histogram.Value().Print(w)
+ if stats.histogram == nil {
+ fmt.Fprint(w, "Histogram (empty)\n")
+ } else {
+ fmt.Fprintf(w, "Histogram (unit: %s)\n", fmt.Sprintf("%v", stats.unit)[1:])
+ stats.histogram.Value().Print(w)
+ }
}
-// String returns the textual output of the BenchStats as string.
-func (stats *BenchStats) String() string {
+// String returns the textual output of the Stats as string.
+func (stats *Stats) String() string {
var b bytes.Buffer
stats.Print(&b)
return b.String()
diff --git a/lib/testutil/benchmark/stats_test.go b/lib/testutil/benchmark/stats_test.go
new file mode 100644
index 0000000..7072963
--- /dev/null
+++ b/lib/testutil/benchmark/stats_test.go
@@ -0,0 +1,29 @@
+package benchmark_test
+
+import (
+ "strings"
+ "testing"
+ "time"
+
+ "v.io/core/veyron/lib/testutil/benchmark"
+)
+
+func TestStatsBasic(t *testing.T) {
+ stats := benchmark.NewStats(16)
+ if !strings.Contains(stats.String(), "Histogram (empty)") {
+ t.Errorf("unexpect stats output:\n%s\n", stats.String())
+ }
+
+ for i := time.Duration(1); i <= 10; i++ {
+ stats.Add(i * time.Millisecond)
+ }
+
+ if !strings.Contains(stats.String(), "Count: 10 ") {
+ t.Errorf("unexpect stats output:\n%s\n", stats.String())
+ }
+
+ stats.Clear()
+ if !strings.Contains(stats.String(), "Histogram (empty)") {
+ t.Errorf("unexpect stats output:\n%s\n", stats.String())
+ }
+}
diff --git a/lib/testutil/benchmark/util.go b/lib/testutil/benchmark/util.go
new file mode 100644
index 0000000..ef76c2a
--- /dev/null
+++ b/lib/testutil/benchmark/util.go
@@ -0,0 +1,191 @@
+package benchmark
+
+import (
+ "bufio"
+ "bytes"
+ "fmt"
+ "os"
+ "runtime"
+ "sort"
+ "strings"
+ "sync"
+ "testing"
+)
+
+var (
+ curB *testing.B
+ curBenchName string
+ curStats map[string]*Stats
+
+ orgStdout *os.File
+ nextOutPos int
+
+ injectCond *sync.Cond
+ injectDone chan struct{}
+)
+
+// AddStats adds a new unnamed Stats instance to the current benchmark. You need
+// to run benchmarks by calling RunTestMain() to inject the stats to the
+// benchmark results. If numBuckets is not positive, the default value (16) will
+// be used. Please note that this calls b.ResetTimer() since it may be blocked
+// until the previous benchmark stats is printed out. So AddStats() should
+// typically be called at the very beginning of each benchmark function.
+func AddStats(b *testing.B, numBuckets int) *Stats {
+ return AddStatsWithName(b, "", numBuckets)
+}
+
+// AddStatsWithName adds a new named Stats instance to the current benchmark.
+// With this, you can add multiple stats in a single benchmark. You need
+// to run benchmarks by calling RunTestMain() to inject the stats to the
+// benchmark results. If numBuckets is not positive, the default value (16) will
+// be used. Please note that this calls b.ResetTimer() since it may be blocked
+// until the previous benchmark stats is printed out. So AddStatsWithName()
+// should typically be called at the very beginning of each benchmark function.
+func AddStatsWithName(b *testing.B, name string, numBuckets int) *Stats {
+ var benchName string
+ for i := 1; ; i++ {
+ pc, _, _, ok := runtime.Caller(i)
+ if !ok {
+ panic("benchmark function not found")
+ }
+ p := strings.Split(runtime.FuncForPC(pc).Name(), ".")
+ benchName = p[len(p)-1]
+ if strings.HasPrefix(benchName, "Benchmark") {
+ break
+ }
+ }
+ procs := runtime.GOMAXPROCS(-1)
+ if procs != 1 {
+ benchName = fmt.Sprintf("%s-%d", benchName, procs)
+ }
+
+ stats := NewStats(numBuckets)
+
+ if injectCond != nil {
+ // We need to wait until the previous benchmark stats is printed out.
+ injectCond.L.Lock()
+ for curB != nil && curBenchName != benchName {
+ injectCond.Wait()
+ }
+
+ curB = b
+ curBenchName = benchName
+ curStats[name] = stats
+
+ injectCond.L.Unlock()
+ }
+
+ b.ResetTimer()
+ return stats
+}
+
+// RunTestMain runs the tests with enabling injection of benchmark stats. It
+// returns an exit code to pass to os.Exit.
+func RunTestMain(m *testing.M) int {
+ startStatsInjector()
+ defer stopStatsInjector()
+ return m.Run()
+}
+
+// startStatsInjector starts stats injection to benchmark results.
+func startStatsInjector() {
+ orgStdout = os.Stdout
+ r, w, _ := os.Pipe()
+ os.Stdout = w
+ nextOutPos = 0
+
+ resetCurBenchStats()
+
+ injectCond = sync.NewCond(&sync.Mutex{})
+ injectDone = make(chan struct{})
+ go func() {
+ defer close(injectDone)
+
+ scanner := bufio.NewScanner(r)
+ scanner.Split(splitLines)
+ for scanner.Scan() {
+ injectStatsIfFinished(scanner.Text())
+ }
+ if err := scanner.Err(); err != nil {
+ panic(err)
+ }
+ }()
+}
+
+// stopStatsInjector stops stats injection and restores os.Stdout.
+func stopStatsInjector() {
+ os.Stdout.Close()
+ <-injectDone
+ injectCond = nil
+ os.Stdout = orgStdout
+}
+
+// splitLines is a split function for a bufio.Scanner that returns each line
+// of text, teeing texts to the original stdout even before each line ends.
+func splitLines(data []byte, eof bool) (advance int, token []byte, err error) {
+ if eof && len(data) == 0 {
+ return 0, nil, nil
+ }
+
+ if i := bytes.IndexByte(data, '\n'); i >= 0 {
+ orgStdout.Write(data[nextOutPos : i+1])
+ nextOutPos = 0
+ return i + 1, data[0:i], nil
+ }
+
+ orgStdout.Write(data[nextOutPos:])
+ nextOutPos = len(data)
+
+ if eof {
+ // This is a final, non-terminated line. Return it.
+ return len(data), data, nil
+ }
+
+ return 0, nil, nil
+}
+
+// injectStatsIfFinished prints out the stats if the current benchmark finishes.
+func injectStatsIfFinished(line string) {
+ injectCond.L.Lock()
+ defer injectCond.L.Unlock()
+
+ // We assume that the benchmark results start with the benchmark name.
+ if curB == nil || !strings.HasPrefix(line, curBenchName) {
+ return
+ }
+
+ if !curB.Failed() {
+ // Output all stats in alphabetical order.
+ names := make([]string, 0, len(curStats))
+ for name := range curStats {
+ names = append(names, name)
+ }
+ sort.Strings(names)
+ for _, name := range names {
+ stats := curStats[name]
+ // The output of stats starts with a header like "Histogram (unit: ms)"
+ // followed by statistical properties and the buckets. Add the stats name
+ // if it is a named stats and indent them as Go testing outputs.
+ lines := strings.Split(stats.String(), "\n")
+ if n := len(lines); n > 0 {
+ if name != "" {
+ name = ": " + name
+ }
+ fmt.Fprintf(orgStdout, "--- %s%s\n", lines[0], name)
+ for _, line := range lines[1 : n-1] {
+ fmt.Fprintf(orgStdout, "\t%s\n", line)
+ }
+ }
+ }
+ }
+
+ resetCurBenchStats()
+ injectCond.Signal()
+}
+
+// resetCurBenchStats resets the current benchmark stats.
+func resetCurBenchStats() {
+ curB = nil
+ curBenchName = ""
+ curStats = make(map[string]*Stats)
+}
diff --git a/lib/testutil/benchmark/util_test.go b/lib/testutil/benchmark/util_test.go
new file mode 100644
index 0000000..bc10242
--- /dev/null
+++ b/lib/testutil/benchmark/util_test.go
@@ -0,0 +1,73 @@
+package benchmark
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "os"
+ "regexp"
+ "strings"
+ "testing"
+ "time"
+)
+
+func BenchmarkTest(b *testing.B) {
+ stats := AddStats(b, 0)
+ for i := 1; i <= b.N; i++ {
+ time.Sleep(1 * time.Microsecond)
+ stats.Add(time.Duration(i) * time.Microsecond)
+ }
+}
+
+func BenchmarkTestMulti(b *testing.B) {
+ stats1 := AddStatsWithName(b, "S1", 0)
+ stats2 := AddStatsWithName(b, "S2", 0)
+ for i := 1; i <= b.N; i++ {
+ time.Sleep(1 * time.Microsecond)
+ stats1.Add(time.Duration(i) * time.Microsecond)
+ stats2.Add(time.Duration(i) * time.Millisecond)
+ }
+}
+
+func TestStatsInjection(t *testing.T) {
+ stdout := os.Stdout
+ r, w, _ := os.Pipe()
+ os.Stdout = w
+
+ outC := make(chan string)
+ go func() {
+ b := new(bytes.Buffer)
+ io.Copy(b, r)
+ r.Close()
+ outC <- b.String()
+ }()
+
+ startStatsInjector()
+
+ fmt.Printf("%s\t", "BenchmarkTest")
+ result := testing.Benchmark(BenchmarkTest)
+ fmt.Println(result.String())
+
+ fmt.Printf("%s\t", "BenchmarkTestMulti")
+ result = testing.Benchmark(BenchmarkTestMulti)
+ fmt.Println(result.String())
+
+ stopStatsInjector()
+
+ w.Close()
+ os.Stdout = stdout
+ out := <-outC
+
+ if strings.Count(out, "Histogram") != 3 {
+ t.Errorf("unexpected stats output:\n%s", out)
+ }
+ if matched, _ := regexp.MatchString("Histogram.*\\)\n", out); !matched {
+ t.Errorf("unnamed stats not found:\n%s", out)
+ }
+ if matched, _ := regexp.MatchString("Histogram.*\\): S1\n", out); !matched {
+ t.Errorf("stats S1 not found:\n%s", out)
+ }
+ if matched, _ := regexp.MatchString("Histogram.*\\): S2\n", out); !matched {
+ t.Errorf("stats S2 not found:\n%s", out)
+ }
+}
diff --git a/runtimes/google/ipc/benchmark/README.txt b/runtimes/google/ipc/benchmark/README.txt
new file mode 100644
index 0000000..f3fa1fc
--- /dev/null
+++ b/runtimes/google/ipc/benchmark/README.txt
@@ -0,0 +1,129 @@
+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/core/veyron/runtimes/google/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.
+
+================================================================================
+
+bmserver/main.go and bmclient/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 bmserver/main.go \
+ -veyron.tcp.address=localhost:8888 -acl='{"In":{"...":"R"}}'
+
+(In a different shell)
+$ v23 go run bmclient/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.
+
+
+$ ./bmserver --address=localhost:8888 --acl='{"...":"A"}'
+
+$ ./bmclient --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/runtimes/google/ipc/benchmark/RESULTS.txt b/runtimes/google/ipc/benchmark/RESULTS.txt
new file mode 100644
index 0000000..b884698
--- /dev/null
+++ b/runtimes/google/ipc/benchmark/RESULTS.txt
@@ -0,0 +1,1532 @@
+* 'Benchmark___NNB' shows the average time to execute a simple Echo RPC with a payload
+ of NN bytes.
+* 'Benchmark___CC_chunk____NNB' shows the average time to execute a streaming RPC with
+ a payload of CC chunks of NN bytes.
+* 'Benchmark__per_chunk___NNB' shows the average time to send one chunk of NN bytes.
+* 'Benchmark___NNB_mux___CC_chunks___MMB' shows the average time to execute a simple
+ Echo RPC with a payload of NN bytes while streaming payloads of CC chunks of MM bytes
+ continuously in the same process.
+
+================================================================================
+Date: 01/06/2015
+Platform: Intel(R) Xeon(R) CPU E5-2689 0 @ 2.60GHz, 66114888KB Memory
+
+Benchmark____1B 2000 5135719 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 6 Avg: 4.50
+ ------------------------------------------------------------
+ [ 4, 5) 1077 53.9% 53.9% #####
+ [ 5, 6) 843 42.2% 96.0% ####
+ [ 6, inf) 80 4.0% 100.0%
+Benchmark____1B-2 2000 4968273 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 6 Avg: 4.32
+ ------------------------------------------------------------
+ [ 4, 5) 1364 68.2% 68.2% #######
+ [ 5, 6) 628 31.4% 99.6% ###
+ [ 6, inf) 8 0.4% 100.0%
+Benchmark___10B 2000 5207706 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 7 Avg: 4.58
+ ------------------------------------------------------------
+ [ 4, 5) 1380 69.0% 69.0% #######
+ [ 5, 6) 137 6.9% 75.9% #
+ [ 6, 7) 424 21.2% 97.1% ##
+ [ 7, inf) 59 3.0% 100.0%
+Benchmark___10B-2 2000 5012485 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 7 Avg: 4.35
+ ------------------------------------------------------------
+ [ 4, 5) 1541 77.1% 77.1% ########
+ [ 5, 6) 221 11.1% 88.1% #
+ [ 6, 7) 236 11.8% 99.9% #
+ [ 7, inf) 2 0.1% 100.0%
+Benchmark__100B 2000 5313342 ns/op 0.04 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 10 Avg: 4.62
+ ------------------------------------------------------------
+ [ 4, 5) 1505 75.2% 75.2% ########
+ [ 5, 6) 122 6.1% 81.4% #
+ [ 6, 7) 56 2.8% 84.2%
+ [ 7, 8) 259 13.0% 97.1% #
+ [ 8, 9) 57 2.9% 100.0%
+ [ 9, 10) 0 0.0% 100.0%
+ [ 10, inf) 1 0.1% 100.0%
+Benchmark__100B-2 2000 4997534 ns/op 0.04 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 7 Avg: 4.34
+ ------------------------------------------------------------
+ [ 4, 5) 1649 82.5% 82.5% ########
+ [ 5, 6) 18 0.9% 83.4%
+ [ 6, 7) 332 16.6% 100.0% ##
+ [ 7, inf) 1 0.1% 100.0%
+Benchmark___1KB 2000 5247848 ns/op 0.38 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 9 Avg: 4.62
+ ------------------------------------------------------------
+ [ 4, 5) 1626 81.3% 81.3% ########
+ [ 5, 6) 67 3.4% 84.7%
+ [ 6, 7) 12 0.6% 85.2%
+ [ 7, 8) 64 3.2% 88.5%
+ [ 8, 9) 196 9.8% 98.2% #
+ [ 9, inf) 35 1.8% 100.0%
+Benchmark___1KB-2 2000 4925061 ns/op 0.41 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 7 Avg: 4.31
+ ------------------------------------------------------------
+ [ 4, 5) 1720 86.0% 86.0% #########
+ [ 5, 6) 12 0.6% 86.6%
+ [ 6, 7) 198 9.9% 96.5% #
+ [ 7, inf) 70 3.5% 100.0%
+Benchmark__10KB 2000 5498704 ns/op 3.64 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 11 Avg: 4.79
+ ------------------------------------------------------------
+ [ 4, 5) 1577 78.9% 78.9% ########
+ [ 5, 6) 94 4.7% 83.6%
+ [ 6, 7) 47 2.4% 85.9%
+ [ 7, 8) 0 0.0% 85.9%
+ [ 8, 9) 89 4.5% 90.4%
+ [ 9, 10) 123 6.2% 96.5% #
+ [ 10, 12) 70 3.5% 100.0%
+ [ 12, inf) 0 0.0% 100.0%
+Benchmark__10KB-2 2000 5046850 ns/op 3.96 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 9 Avg: 4.42
+ ------------------------------------------------------------
+ [ 4, 5) 1689 84.5% 84.5% ########
+ [ 5, 6) 50 2.5% 87.0%
+ [ 6, 7) 0 0.0% 87.0%
+ [ 7, 8) 251 12.6% 99.5% #
+ [ 8, 9) 7 0.4% 99.9%
+ [ 9, inf) 3 0.2% 100.0%
+Benchmark_100KB 1000 7995692 ns/op 25.01 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 6 Max: 13 Avg: 7.50
+ ------------------------------------------------------------
+ [ 6, 7) 685 68.5% 68.5% #######
+ [ 7, 8) 55 5.5% 74.0% #
+ [ 8, 9) 17 1.7% 75.7%
+ [ 9, 10) 0 0.0% 75.7%
+ [ 10, 11) 0 0.0% 75.7%
+ [ 11, 12) 63 6.3% 82.0% #
+ [ 12, 14) 180 18.0% 100.0% ##
+ [ 14, inf) 0 0.0% 100.0%
+Benchmark_100KB-2 1000 6064046 ns/op 32.98 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 5 Max: 9 Avg: 5.77
+ ------------------------------------------------------------
+ [ 5, 6) 762 76.2% 76.2% ########
+ [ 6, 7) 3 0.3% 76.5%
+ [ 7, 8) 0 0.0% 76.5%
+ [ 8, 9) 173 17.3% 93.8% ##
+ [ 9, inf) 62 6.2% 100.0% #
+
+Benchmark____1_chunk_____1B 2000 5445727 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 7 Avg: 4.87
+ ------------------------------------------------------------
+ [ 4, 5) 664 33.2% 33.2% ###
+ [ 5, 6) 940 47.0% 80.2% #####
+ [ 6, 7) 395 19.8% 100.0% ##
+ [ 7, inf) 1 0.1% 100.0%
+Benchmark____1_chunk_____1B-2 2000 5178446 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 6 Avg: 4.46
+ ------------------------------------------------------------
+ [ 4, 5) 1130 56.5% 56.5% ######
+ [ 5, 6) 825 41.2% 97.8% ####
+ [ 6, inf) 45 2.2% 100.0%
+Benchmark____1_chunk____10B 2000 5545419 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 7 Avg: 4.89
+ ------------------------------------------------------------
+ [ 4, 5) 985 49.2% 49.2% #####
+ [ 5, 6) 473 23.7% 72.9% ##
+ [ 6, 7) 321 16.1% 89.0% ##
+ [ 7, inf) 221 11.1% 100.0% #
+Benchmark____1_chunk____10B-2 2000 5217440 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 6 Avg: 4.55
+ ------------------------------------------------------------
+ [ 4, 5) 1311 65.5% 65.5% #######
+ [ 5, 6) 279 14.0% 79.5% #
+ [ 6, inf) 410 20.5% 100.0% ##
+Benchmark____1_chunk___100B 2000 5607749 ns/op 0.04 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 9 Avg: 5.00
+ ------------------------------------------------------------
+ [ 4, 5) 981 49.1% 49.1% #####
+ [ 5, 6) 614 30.7% 79.8% ###
+ [ 6, 7) 10 0.5% 80.2%
+ [ 7, 8) 216 10.8% 91.1% #
+ [ 8, 9) 178 8.9% 100.0% #
+ [ 9, inf) 1 0.1% 100.0%
+Benchmark____1_chunk___100B-2 2000 5221803 ns/op 0.04 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 7 Avg: 4.48
+ ------------------------------------------------------------
+ [ 4, 5) 1421 71.0% 71.0% #######
+ [ 5, 6) 223 11.2% 82.2% #
+ [ 6, 7) 329 16.4% 98.7% ##
+ [ 7, inf) 27 1.4% 100.0%
+Benchmark____1_chunk____1KB 2000 5499778 ns/op 0.36 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 10 Avg: 4.74
+ ------------------------------------------------------------
+ [ 4, 5) 1456 72.8% 72.8% #######
+ [ 5, 6) 214 10.7% 83.5% #
+ [ 6, 7) 12 0.6% 84.1%
+ [ 7, 8) 72 3.6% 87.7%
+ [ 8, 9) 205 10.2% 98.0% #
+ [ 9, 10) 40 2.0% 100.0%
+ [ 10, inf) 1 0.1% 100.0%
+Benchmark____1_chunk____1KB-2 2000 5131389 ns/op 0.39 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 7 Avg: 4.41
+ ------------------------------------------------------------
+ [ 4, 5) 1621 81.1% 81.1% ########
+ [ 5, 6) 89 4.5% 85.5%
+ [ 6, 7) 149 7.5% 93.0% #
+ [ 7, inf) 141 7.1% 100.0% #
+Benchmark____1_chunk___10KB 2000 5747560 ns/op 3.48 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 11 Avg: 5.12
+ ------------------------------------------------------------
+ [ 4, 5) 1023 51.2% 51.2% #####
+ [ 5, 6) 598 29.9% 81.1% ###
+ [ 6, 7) 78 3.9% 85.0%
+ [ 7, 8) 1 0.1% 85.0%
+ [ 8, 9) 72 3.6% 88.6%
+ [ 9, 10) 164 8.2% 96.8% #
+ [ 10, 12) 64 3.2% 100.0%
+ [ 12, inf) 0 0.0% 100.0%
+Benchmark____1_chunk___10KB-2 2000 5240887 ns/op 3.82 MB/s
+--- Histogram (unit: ms)
+ Count: 2000 Min: 4 Max: 10 Avg: 4.55
+ ------------------------------------------------------------
+ [ 4, 5) 1515 75.8% 75.8% ########
+ [ 5, 6) 208 10.4% 86.2% #
+ [ 6, 7) 0 0.0% 86.2%
+ [ 7, 8) 231 11.6% 97.7% #
+ [ 8, 9) 29 1.5% 99.2%
+ [ 9, 10) 16 0.8% 100.0%
+ [ 10, inf) 1 0.1% 100.0%
+Benchmark____1_chunk__100KB 1000 8096470 ns/op 24.70 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 6 Max: 13 Avg: 7.54
+ ------------------------------------------------------------
+ [ 6, 7) 687 68.7% 68.7% #######
+ [ 7, 8) 64 6.4% 75.1% #
+ [ 8, 9) 1 0.1% 75.2%
+ [ 9, 10) 0 0.0% 75.2%
+ [ 10, 11) 0 0.0% 75.2%
+ [ 11, 12) 24 2.4% 77.6%
+ [ 12, 14) 224 22.4% 100.0% ##
+ [ 14, inf) 0 0.0% 100.0%
+Benchmark____1_chunk__100KB-2 1000 6401830 ns/op 31.24 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 5 Max: 11 Avg: 5.91
+ ------------------------------------------------------------
+ [ 5, 6) 748 74.8% 74.8% #######
+ [ 6, 7) 14 1.4% 76.2%
+ [ 7, 8) 1 0.1% 76.3%
+ [ 8, 9) 106 10.6% 86.9% #
+ [ 9, 10) 81 8.1% 95.0% #
+ [ 10, 11) 46 4.6% 99.6%
+ [ 11, inf) 4 0.4% 100.0%
+Benchmark___10_chunk_____1B 1000 7091901 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 5 Max: 14 Avg: 6.78
+ ------------------------------------------------------------
+ [ 5, 6) 28 2.8% 2.8%
+ [ 6, 7) 819 81.9% 84.7% ########
+ [ 7, 8) 10 1.0% 85.7%
+ [ 8, 9) 25 2.5% 88.2%
+ [ 9, 10) 0 0.0% 88.2%
+ [ 10, 12) 30 3.0% 91.2%
+ [ 12, 14) 86 8.6% 99.8% #
+ [ 14, 16) 2 0.2% 100.0%
+ [ 16, 19) 0 0.0% 100.0%
+ [ 19, inf) 0 0.0% 100.0%
+Benchmark___10_chunk_____1B-2 1000 6297751 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 5 Max: 11 Avg: 5.68
+ ------------------------------------------------------------
+ [ 5, 6) 759 75.9% 75.9% ########
+ [ 6, 7) 118 11.8% 87.7% #
+ [ 7, 8) 0 0.0% 87.7%
+ [ 8, 9) 14 1.4% 89.1%
+ [ 9, 10) 40 4.0% 93.1%
+ [ 10, 11) 51 5.1% 98.2% #
+ [ 11, inf) 18 1.8% 100.0%
+Benchmark___10_chunk____10B 1000 7358008 ns/op 0.03 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 6 Max: 16 Avg: 6.88
+ ------------------------------------------------------------
+ [ 6, 7) 845 84.5% 84.5% ########
+ [ 7, 8) 9 0.9% 85.4%
+ [ 8, 9) 28 2.8% 88.2%
+ [ 9, 10) 0 0.0% 88.2%
+ [ 10, 11) 0 0.0% 88.2%
+ [ 11, 13) 29 2.9% 91.1%
+ [ 13, 15) 86 8.6% 99.7% #
+ [ 15, 17) 3 0.3% 100.0%
+ [ 17, 20) 0 0.0% 100.0%
+ [ 20, 23) 0 0.0% 100.0%
+ [ 23, inf) 0 0.0% 100.0%
+Benchmark___10_chunk____10B-2 1000 6307487 ns/op 0.03 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 5 Max: 12 Avg: 5.67
+ ------------------------------------------------------------
+ [ 5, 6) 779 77.9% 77.9% ########
+ [ 6, 7) 103 10.3% 88.2% #
+ [ 7, 8) 2 0.2% 88.4%
+ [ 8, 9) 9 0.9% 89.3%
+ [ 9, 10) 40 4.0% 93.3%
+ [ 10, 11) 32 3.2% 96.5%
+ [ 11, 13) 35 3.5% 100.0%
+ [ 13, inf) 0 0.0% 100.0%
+Benchmark___10_chunk___100B 1000 7583639 ns/op 0.26 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 6 Max: 16 Avg: 6.96
+ ------------------------------------------------------------
+ [ 6, 7) 833 83.3% 83.3% ########
+ [ 7, 8) 27 2.7% 86.0%
+ [ 8, 9) 22 2.2% 88.2%
+ [ 9, 10) 5 0.5% 88.7%
+ [ 10, 11) 0 0.0% 88.7%
+ [ 11, 13) 26 2.6% 91.3%
+ [ 13, 15) 68 6.8% 98.1% #
+ [ 15, 17) 19 1.9% 100.0%
+ [ 17, 20) 0 0.0% 100.0%
+ [ 20, 23) 0 0.0% 100.0%
+ [ 23, inf) 0 0.0% 100.0%
+Benchmark___10_chunk___100B-2 1000 6213319 ns/op 0.32 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 5 Max: 11 Avg: 5.56
+ ------------------------------------------------------------
+ [ 5, 6) 831 83.1% 83.1% ########
+ [ 6, 7) 58 5.8% 88.9% #
+ [ 7, 8) 0 0.0% 88.9%
+ [ 8, 9) 0 0.0% 88.9%
+ [ 9, 10) 58 5.8% 94.7% #
+ [ 10, 11) 52 5.2% 99.9% #
+ [ 11, inf) 1 0.1% 100.0%
+Benchmark___10_chunk____1KB 1000 7839146 ns/op 2.55 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 6 Max: 17 Avg: 7.15
+ ------------------------------------------------------------
+ [ 6, 7) 793 79.3% 79.3% ########
+ [ 7, 8) 60 6.0% 85.3% #
+ [ 8, 9) 4 0.4% 85.7%
+ [ 9, 10) 26 2.6% 88.3%
+ [ 10, 11) 1 0.1% 88.4%
+ [ 11, 13) 0 0.0% 88.4%
+ [ 13, 15) 31 3.1% 91.5%
+ [ 15, 18) 85 8.5% 100.0% #
+ [ 18, 21) 0 0.0% 100.0%
+ [ 21, 25) 0 0.0% 100.0%
+ [ 25, 29) 0 0.0% 100.0%
+ [ 29, inf) 0 0.0% 100.0%
+Benchmark___10_chunk____1KB-2 1000 6437679 ns/op 3.11 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 5 Max: 13 Avg: 5.79
+ ------------------------------------------------------------
+ [ 5, 6) 757 75.7% 75.7% ########
+ [ 6, 7) 129 12.9% 88.6% #
+ [ 7, 8) 1 0.1% 88.7%
+ [ 8, 9) 0 0.0% 88.7%
+ [ 9, 10) 17 1.7% 90.4%
+ [ 10, 12) 51 5.1% 95.5% #
+ [ 12, 14) 45 4.5% 100.0%
+ [ 14, 16) 0 0.0% 100.0%
+ [ 16, inf) 0 0.0% 100.0%
+Benchmark___10_chunk___10KB 1000 10124684 ns/op 19.75 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 8 Max: 20 Avg: 9.76
+ ------------------------------------------------------------
+ [ 8, 9) 746 74.6% 74.6% #######
+ [ 9, 10) 6 0.6% 75.2%
+ [ 10, 11) 53 5.3% 80.5% #
+ [ 11, 12) 3 0.3% 80.8%
+ [ 12, 13) 0 0.0% 80.8%
+ [ 13, 15) 0 0.0% 80.8%
+ [ 15, 17) 56 5.6% 86.4% #
+ [ 17, 20) 135 13.5% 99.9% #
+ [ 20, 23) 1 0.1% 100.0%
+ [ 23, 27) 0 0.0% 100.0%
+ [ 27, 32) 0 0.0% 100.0%
+ [ 32, 38) 0 0.0% 100.0%
+ [ 38, inf) 0 0.0% 100.0%
+Benchmark___10_chunk___10KB-2 1000 7345578 ns/op 27.23 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 5 Max: 14 Avg: 6.95
+ ------------------------------------------------------------
+ [ 5, 6) 153 15.3% 15.3% ##
+ [ 6, 7) 616 61.6% 76.9% ######
+ [ 7, 8) 43 4.3% 81.2%
+ [ 8, 9) 2 0.2% 81.4%
+ [ 9, 10) 1 0.1% 81.5%
+ [ 10, 12) 73 7.3% 88.8% #
+ [ 12, 14) 104 10.4% 99.2% #
+ [ 14, 16) 8 0.8% 100.0%
+ [ 16, 19) 0 0.0% 100.0%
+ [ 19, inf) 0 0.0% 100.0%
+Benchmark___10_chunk__100KB 200 31538364 ns/op 63.41 MB/s
+--- Histogram (unit: ms)
+ Count: 200 Min: 24 Max: 37 Avg: 31.07
+ ------------------------------------------------------------
+ [ 24, 25) 5 2.5% 2.5%
+ [ 25, 26) 60 30.0% 32.5% ###
+ [ 26, 27) 2 1.0% 33.5%
+ [ 27, 28) 0 0.0% 33.5%
+ [ 28, 29) 0 0.0% 33.5%
+ [ 29, 31) 0 0.0% 33.5%
+ [ 31, 33) 0 0.0% 33.5%
+ [ 33, 36) 129 64.5% 98.0% ######
+ [ 36, 39) 4 2.0% 100.0%
+ [ 39, 43) 0 0.0% 100.0%
+ [ 43, 48) 0 0.0% 100.0%
+ [ 48, 54) 0 0.0% 100.0%
+ [ 54, 61) 0 0.0% 100.0%
+ [ 61, inf) 0 0.0% 100.0%
+Benchmark___10_chunk__100KB-2 500 19099352 ns/op 104.72 MB/s
+--- Histogram (unit: ms)
+ Count: 500 Min: 14 Max: 27 Avg: 18.58
+ ------------------------------------------------------------
+ [ 14, 15) 53 10.6% 10.6% #
+ [ 15, 16) 109 21.8% 32.4% ##
+ [ 16, 17) 15 3.0% 35.4%
+ [ 17, 18) 0 0.0% 35.4%
+ [ 18, 19) 2 0.4% 35.8%
+ [ 19, 21) 161 32.2% 68.0% ###
+ [ 21, 23) 141 28.2% 96.2% ###
+ [ 23, 26) 18 3.6% 99.8%
+ [ 26, 29) 1 0.2% 100.0%
+ [ 29, 33) 0 0.0% 100.0%
+ [ 33, 38) 0 0.0% 100.0%
+ [ 38, 44) 0 0.0% 100.0%
+ [ 44, 51) 0 0.0% 100.0%
+ [ 51, inf) 0 0.0% 100.0%
+Benchmark__100_chunk_____1B 500 19824819 ns/op 0.01 MB/s
+--- Histogram (unit: ms)
+ Count: 500 Min: 16 Max: 34 Avg: 19.44
+ ------------------------------------------------------------
+ [ 16, 17) 272 54.4% 54.4% #####
+ [ 17, 18) 15 3.0% 57.4%
+ [ 18, 19) 2 0.4% 57.8%
+ [ 19, 20) 38 7.6% 65.4% #
+ [ 20, 22) 33 6.6% 72.0% #
+ [ 22, 24) 23 4.6% 76.6%
+ [ 24, 27) 41 8.2% 84.8% #
+ [ 27, 30) 64 12.8% 97.6% #
+ [ 30, 34) 11 2.2% 99.8%
+ [ 34, 39) 1 0.2% 100.0%
+ [ 39, 45) 0 0.0% 100.0%
+ [ 45, 53) 0 0.0% 100.0%
+ [ 53, 63) 0 0.0% 100.0%
+ [ 63, 75) 0 0.0% 100.0%
+ [ 75, 89) 0 0.0% 100.0%
+ [ 89, 106) 0 0.0% 100.0%
+ [106, inf) 0 0.0% 100.0%
+Benchmark__100_chunk_____1B-2 500 14793583 ns/op 0.01 MB/s
+--- Histogram (unit: ms)
+ Count: 500 Min: 11 Max: 23 Avg: 14.28
+ ------------------------------------------------------------
+ [ 11, 12) 15 3.0% 3.0%
+ [ 12, 13) 210 42.0% 45.0% ####
+ [ 13, 14) 107 21.4% 66.4% ##
+ [ 14, 15) 19 3.8% 70.2%
+ [ 15, 16) 1 0.2% 70.4%
+ [ 16, 18) 23 4.6% 75.0%
+ [ 18, 20) 91 18.2% 93.2% ##
+ [ 20, 23) 31 6.2% 99.4% #
+ [ 23, 26) 3 0.6% 100.0%
+ [ 26, 30) 0 0.0% 100.0%
+ [ 30, 35) 0 0.0% 100.0%
+ [ 35, 41) 0 0.0% 100.0%
+ [ 41, inf) 0 0.0% 100.0%
+Benchmark__100_chunk____10B 300 24818102 ns/op 0.08 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 20 Max: 35 Avg: 24.38
+ ------------------------------------------------------------
+ [ 20, 21) 7 2.3% 2.3%
+ [ 21, 22) 145 48.3% 50.7% #####
+ [ 22, 23) 29 9.7% 60.3% #
+ [ 23, 24) 4 1.3% 61.7%
+ [ 24, 26) 25 8.3% 70.0% #
+ [ 26, 28) 4 1.3% 71.3%
+ [ 28, 30) 24 8.0% 79.3% #
+ [ 30, 33) 43 14.3% 93.7% #
+ [ 33, 37) 19 6.3% 100.0% #
+ [ 37, 42) 0 0.0% 100.0%
+ [ 42, 48) 0 0.0% 100.0%
+ [ 48, 55) 0 0.0% 100.0%
+ [ 55, 63) 0 0.0% 100.0%
+ [ 63, 73) 0 0.0% 100.0%
+ [ 73, 85) 0 0.0% 100.0%
+ [ 85, inf) 0 0.0% 100.0%
+Benchmark__100_chunk____10B-2 500 15081537 ns/op 0.13 MB/s
+--- Histogram (unit: ms)
+ Count: 500 Min: 11 Max: 25 Avg: 14.57
+ ------------------------------------------------------------
+ [ 11, 12) 1 0.2% 0.2%
+ [ 12, 13) 182 36.4% 36.6% ####
+ [ 13, 14) 143 28.6% 65.2% ###
+ [ 14, 15) 23 4.6% 69.8%
+ [ 15, 17) 7 1.4% 71.2%
+ [ 17, 19) 51 10.2% 81.4% #
+ [ 19, 21) 55 11.0% 92.4% #
+ [ 21, 24) 34 6.8% 99.2% #
+ [ 24, 28) 4 0.8% 100.0%
+ [ 28, 32) 0 0.0% 100.0%
+ [ 32, 37) 0 0.0% 100.0%
+ [ 37, 43) 0 0.0% 100.0%
+ [ 43, 51) 0 0.0% 100.0%
+ [ 51, 60) 0 0.0% 100.0%
+ [ 60, inf) 0 0.0% 100.0%
+Benchmark__100_chunk___100B 300 27491526 ns/op 0.73 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 23 Max: 38 Avg: 26.94
+ ------------------------------------------------------------
+ [ 23, 24) 104 34.7% 34.7% ###
+ [ 24, 25) 67 22.3% 57.0% ##
+ [ 25, 26) 10 3.3% 60.3%
+ [ 26, 27) 8 2.7% 63.0%
+ [ 27, 29) 23 7.7% 70.7% #
+ [ 29, 31) 0 0.0% 70.7%
+ [ 31, 33) 22 7.3% 78.0% #
+ [ 33, 36) 57 19.0% 97.0% ##
+ [ 36, 40) 9 3.0% 100.0%
+ [ 40, 45) 0 0.0% 100.0%
+ [ 45, 51) 0 0.0% 100.0%
+ [ 51, 58) 0 0.0% 100.0%
+ [ 58, 66) 0 0.0% 100.0%
+ [ 66, 76) 0 0.0% 100.0%
+ [ 76, 88) 0 0.0% 100.0%
+ [ 88, inf) 0 0.0% 100.0%
+Benchmark__100_chunk___100B-2 500 15897395 ns/op 1.26 MB/s
+--- Histogram (unit: ms)
+ Count: 500 Min: 12 Max: 24 Avg: 15.40
+ ------------------------------------------------------------
+ [ 12, 13) 5 1.0% 1.0%
+ [ 13, 14) 226 45.2% 46.2% #####
+ [ 14, 15) 107 21.4% 67.6% ##
+ [ 15, 16) 16 3.2% 70.8%
+ [ 16, 17) 0 0.0% 70.8%
+ [ 17, 19) 12 2.4% 73.2%
+ [ 19, 21) 92 18.4% 91.6% ##
+ [ 21, 24) 35 7.0% 98.6% #
+ [ 24, 27) 7 1.4% 100.0%
+ [ 27, 31) 0 0.0% 100.0%
+ [ 31, 36) 0 0.0% 100.0%
+ [ 36, 42) 0 0.0% 100.0%
+ [ 42, inf) 0 0.0% 100.0%
+Benchmark__100_chunk____1KB 200 30390593 ns/op 6.58 MB/s
+--- Histogram (unit: ms)
+ Count: 200 Min: 25 Max: 41 Avg: 29.77
+ ------------------------------------------------------------
+ [ 25, 26) 68 34.0% 34.0% ###
+ [ 26, 27) 26 13.0% 47.0% #
+ [ 27, 28) 8 4.0% 51.0%
+ [ 28, 29) 9 4.5% 55.5%
+ [ 29, 31) 18 9.0% 64.5% #
+ [ 31, 33) 1 0.5% 65.0%
+ [ 33, 36) 24 12.0% 77.0% #
+ [ 36, 39) 39 19.5% 96.5% ##
+ [ 39, 43) 7 3.5% 100.0%
+ [ 43, 48) 0 0.0% 100.0%
+ [ 48, 54) 0 0.0% 100.0%
+ [ 54, 61) 0 0.0% 100.0%
+ [ 61, 70) 0 0.0% 100.0%
+ [ 70, 81) 0 0.0% 100.0%
+ [ 81, 94) 0 0.0% 100.0%
+ [ 94, 110) 0 0.0% 100.0%
+ [110, inf) 0 0.0% 100.0%
+Benchmark__100_chunk____1KB-2 500 17949156 ns/op 11.14 MB/s
+--- Histogram (unit: ms)
+ Count: 500 Min: 14 Max: 26 Avg: 17.41
+ ------------------------------------------------------------
+ [ 14, 15) 120 24.0% 24.0% ##
+ [ 15, 16) 169 33.8% 57.8% ###
+ [ 16, 17) 28 5.6% 63.4% #
+ [ 17, 18) 6 1.2% 64.6%
+ [ 18, 19) 2 0.4% 65.0%
+ [ 19, 21) 19 3.8% 68.8%
+ [ 21, 23) 87 17.4% 86.2% ##
+ [ 23, 26) 66 13.2% 99.4% #
+ [ 26, 29) 3 0.6% 100.0%
+ [ 29, 33) 0 0.0% 100.0%
+ [ 33, 38) 0 0.0% 100.0%
+ [ 38, 44) 0 0.0% 100.0%
+ [ 44, inf) 0 0.0% 100.0%
+Benchmark__100_chunk___10KB 100 51722516 ns/op 38.67 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 42 Max: 57 Avg: 51.22
+ ------------------------------------------------------------
+ [ 42, 43) 1 1.0% 1.0%
+ [ 43, 44) 0 0.0% 1.0%
+ [ 44, 45) 14 14.0% 15.0% #
+ [ 45, 46) 1 1.0% 16.0%
+ [ 46, 48) 2 2.0% 18.0%
+ [ 48, 50) 0 0.0% 18.0%
+ [ 50, 52) 17 17.0% 35.0% ##
+ [ 52, 55) 58 58.0% 93.0% ######
+ [ 55, 59) 7 7.0% 100.0% #
+ [ 59, 64) 0 0.0% 100.0%
+ [ 64, 70) 0 0.0% 100.0%
+ [ 70, 77) 0 0.0% 100.0%
+ [ 77, 85) 0 0.0% 100.0%
+ [ 85, 95) 0 0.0% 100.0%
+ [ 95, 107) 0 0.0% 100.0%
+ [107, inf) 0 0.0% 100.0%
+Benchmark__100_chunk___10KB-2 300 28968863 ns/op 69.04 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 22 Max: 34 Avg: 28.47
+ ------------------------------------------------------------
+ [ 22, 23) 30 10.0% 10.0% #
+ [ 23, 24) 18 6.0% 16.0% #
+ [ 24, 25) 6 2.0% 18.0%
+ [ 25, 26) 0 0.0% 18.0%
+ [ 26, 27) 0 0.0% 18.0%
+ [ 27, 29) 63 21.0% 39.0% ##
+ [ 29, 31) 102 34.0% 73.0% ###
+ [ 31, 34) 77 25.7% 98.7% ###
+ [ 34, 37) 4 1.3% 100.0%
+ [ 37, 41) 0 0.0% 100.0%
+ [ 41, 46) 0 0.0% 100.0%
+ [ 46, 52) 0 0.0% 100.0%
+ [ 52, inf) 0 0.0% 100.0%
+Benchmark__100_chunk__100KB 30 251752470 ns/op 79.44 MB/s
+--- Histogram (unit: ms)
+ Count: 30 Min: 243 Max: 257 Avg: 251.23
+ ------------------------------------------------------------
+ [243, 244) 5 16.7% 16.7% ##
+ [244, 245) 1 3.3% 20.0%
+ [245, 246) 4 13.3% 33.3% #
+ [246, 247) 0 0.0% 33.3%
+ [247, 249) 0 0.0% 33.3%
+ [249, 251) 0 0.0% 33.3%
+ [251, 253) 0 0.0% 33.3%
+ [253, 256) 14 46.7% 80.0% #####
+ [256, 260) 6 20.0% 100.0% ##
+ [260, 264) 0 0.0% 100.0%
+ [264, 269) 0 0.0% 100.0%
+ [269, 275) 0 0.0% 100.0%
+ [275, 283) 0 0.0% 100.0%
+ [283, 292) 0 0.0% 100.0%
+ [292, inf) 0 0.0% 100.0%
+Benchmark__100_chunk__100KB-2 50 131868524 ns/op 151.67 MB/s
+--- Histogram (unit: ms)
+ Count: 50 Min: 127 Max: 137 Avg: 131.44
+ ------------------------------------------------------------
+ [127, 128) 3 6.0% 6.0% #
+ [128, 129) 13 26.0% 32.0% ###
+ [129, 130) 9 18.0% 50.0% ##
+ [130, 131) 1 2.0% 52.0%
+ [131, 132) 1 2.0% 54.0%
+ [132, 134) 2 4.0% 58.0%
+ [134, 136) 14 28.0% 86.0% ###
+ [136, 138) 7 14.0% 100.0% #
+ [138, 141) 0 0.0% 100.0%
+ [141, 144) 0 0.0% 100.0%
+ [144, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk_____1B 50 147894706 ns/op 0.01 MB/s
+--- Histogram (unit: ms)
+ Count: 50 Min: 123 Max: 195 Avg: 147.42
+ ------------------------------------------------------------
+ [123, 124) 1 2.0% 2.0%
+ [124, 125) 0 0.0% 2.0%
+ [125, 126) 0 0.0% 2.0%
+ [126, 128) 0 0.0% 2.0%
+ [128, 131) 0 0.0% 2.0%
+ [131, 135) 1 2.0% 4.0%
+ [135, 140) 20 40.0% 44.0% ####
+ [140, 147) 19 38.0% 82.0% ####
+ [147, 156) 1 2.0% 84.0%
+ [156, 169) 0 0.0% 84.0%
+ [169, 186) 2 4.0% 88.0%
+ [186, 209) 6 12.0% 100.0% #
+ [209, 239) 0 0.0% 100.0%
+ [239, 279) 0 0.0% 100.0%
+ [279, 333) 0 0.0% 100.0%
+ [333, 404) 0 0.0% 100.0%
+ [404, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk_____1B-2 100 112701633 ns/op 0.02 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 109 Max: 128 Avg: 112.17
+ ------------------------------------------------------------
+ [109, 110) 4 4.0% 4.0%
+ [110, 111) 17 17.0% 21.0% ##
+ [111, 112) 31 31.0% 52.0% ###
+ [112, 113) 16 16.0% 68.0% ##
+ [113, 115) 21 21.0% 89.0% ##
+ [115, 117) 4 4.0% 93.0%
+ [117, 120) 5 5.0% 98.0% #
+ [120, 123) 1 1.0% 99.0%
+ [123, 127) 0 0.0% 99.0%
+ [127, 132) 1 1.0% 100.0%
+ [132, 139) 0 0.0% 100.0%
+ [139, 147) 0 0.0% 100.0%
+ [147, 157) 0 0.0% 100.0%
+ [157, 169) 0 0.0% 100.0%
+ [169, 184) 0 0.0% 100.0%
+ [184, 202) 0 0.0% 100.0%
+ [202, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk____10B 30 210652536 ns/op 0.09 MB/s
+--- Histogram (unit: ms)
+ Count: 30 Min: 205 Max: 216 Avg: 210.23
+ ------------------------------------------------------------
+ [205, 206) 1 3.3% 3.3%
+ [206, 207) 3 10.0% 13.3% #
+ [207, 208) 4 13.3% 26.7% #
+ [208, 209) 3 10.0% 36.7% #
+ [209, 210) 0 0.0% 36.7%
+ [210, 212) 6 20.0% 56.7% ##
+ [212, 214) 10 33.3% 90.0% ###
+ [214, 217) 3 10.0% 100.0% #
+ [217, 220) 0 0.0% 100.0%
+ [220, 224) 0 0.0% 100.0%
+ [224, 228) 0 0.0% 100.0%
+ [228, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk____10B-2 100 121674848 ns/op 0.16 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 113 Max: 132 Avg: 121.15
+ ------------------------------------------------------------
+ [113, 114) 4 4.0% 4.0%
+ [114, 115) 9 9.0% 13.0% #
+ [115, 116) 5 5.0% 18.0% #
+ [116, 117) 3 3.0% 21.0%
+ [117, 119) 7 7.0% 28.0% #
+ [119, 121) 14 14.0% 42.0% #
+ [121, 124) 24 24.0% 66.0% ##
+ [124, 127) 25 25.0% 91.0% ###
+ [127, 131) 8 8.0% 99.0% #
+ [131, 136) 1 1.0% 100.0%
+ [136, 143) 0 0.0% 100.0%
+ [143, 151) 0 0.0% 100.0%
+ [151, 161) 0 0.0% 100.0%
+ [161, 173) 0 0.0% 100.0%
+ [173, 188) 0 0.0% 100.0%
+ [188, 206) 0 0.0% 100.0%
+ [206, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk___100B 30 238543410 ns/op 0.84 MB/s
+--- Histogram (unit: ms)
+ Count: 30 Min: 230 Max: 250 Avg: 238.03
+ ------------------------------------------------------------
+ [230, 231) 3 10.0% 10.0% #
+ [231, 232) 0 0.0% 10.0%
+ [232, 233) 1 3.3% 13.3%
+ [233, 234) 2 6.7% 20.0% #
+ [234, 236) 5 16.7% 36.7% ##
+ [236, 238) 4 13.3% 50.0% #
+ [238, 241) 5 16.7% 66.7% ##
+ [241, 245) 7 23.3% 90.0% ##
+ [245, 249) 2 6.7% 96.7% #
+ [249, 255) 1 3.3% 100.0%
+ [255, 262) 0 0.0% 100.0%
+ [262, 270) 0 0.0% 100.0%
+ [270, 280) 0 0.0% 100.0%
+ [280, 293) 0 0.0% 100.0%
+ [293, 309) 0 0.0% 100.0%
+ [309, 328) 0 0.0% 100.0%
+ [328, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk___100B-2 50 138412318 ns/op 1.44 MB/s
+--- Histogram (unit: ms)
+ Count: 50 Min: 126 Max: 149 Avg: 137.94
+ ------------------------------------------------------------
+ [126, 127) 1 2.0% 2.0%
+ [127, 128) 0 0.0% 2.0%
+ [128, 129) 0 0.0% 2.0%
+ [129, 130) 0 0.0% 2.0%
+ [130, 132) 3 6.0% 8.0% #
+ [132, 134) 6 12.0% 20.0% #
+ [134, 137) 11 22.0% 42.0% ##
+ [137, 141) 12 24.0% 66.0% ##
+ [141, 146) 14 28.0% 94.0% ###
+ [146, 152) 3 6.0% 100.0% #
+ [152, 160) 0 0.0% 100.0%
+ [160, 169) 0 0.0% 100.0%
+ [169, 181) 0 0.0% 100.0%
+ [181, 196) 0 0.0% 100.0%
+ [196, 214) 0 0.0% 100.0%
+ [214, 236) 0 0.0% 100.0%
+ [236, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk____1KB 30 276508870 ns/op 7.23 MB/s
+--- Histogram (unit: ms)
+ Count: 30 Min: 264 Max: 299 Avg: 275.97
+ ------------------------------------------------------------
+ [264, 265) 1 3.3% 3.3%
+ [265, 266) 0 0.0% 3.3%
+ [266, 267) 1 3.3% 6.7%
+ [267, 269) 3 10.0% 16.7% #
+ [269, 271) 5 16.7% 33.3% ##
+ [271, 274) 7 23.3% 56.7% ##
+ [274, 278) 2 6.7% 63.3% #
+ [278, 283) 7 23.3% 86.7% ##
+ [283, 289) 1 3.3% 90.0%
+ [289, 297) 1 3.3% 93.3%
+ [297, 307) 2 6.7% 100.0% #
+ [307, 320) 0 0.0% 100.0%
+ [320, 337) 0 0.0% 100.0%
+ [337, 358) 0 0.0% 100.0%
+ [358, 385) 0 0.0% 100.0%
+ [385, 419) 0 0.0% 100.0%
+ [419, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk____1KB-2 50 156292302 ns/op 12.80 MB/s
+--- Histogram (unit: ms)
+ Count: 50 Min: 144 Max: 169 Avg: 155.82
+ ------------------------------------------------------------
+ [144, 145) 1 2.0% 2.0%
+ [145, 146) 0 0.0% 2.0%
+ [146, 147) 1 2.0% 4.0%
+ [147, 148) 0 0.0% 4.0%
+ [148, 150) 3 6.0% 10.0% #
+ [150, 152) 5 10.0% 20.0% #
+ [152, 155) 14 28.0% 48.0% ###
+ [155, 159) 12 24.0% 72.0% ##
+ [159, 164) 8 16.0% 88.0% ##
+ [164, 170) 6 12.0% 100.0% #
+ [170, 178) 0 0.0% 100.0%
+ [178, 188) 0 0.0% 100.0%
+ [188, 201) 0 0.0% 100.0%
+ [201, 217) 0 0.0% 100.0%
+ [217, 237) 0 0.0% 100.0%
+ [237, 261) 0 0.0% 100.0%
+ [261, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk___10KB 20 468904636 ns/op 42.65 MB/s
+--- Histogram (unit: ms)
+ Count: 20 Min: 458 Max: 491 Avg: 468.40
+ ------------------------------------------------------------
+ [458, 459) 2 10.0% 10.0% #
+ [459, 460) 2 10.0% 20.0% #
+ [460, 461) 2 10.0% 30.0% #
+ [461, 463) 1 5.0% 35.0% #
+ [463, 465) 1 5.0% 40.0% #
+ [465, 468) 2 10.0% 50.0% #
+ [468, 472) 2 10.0% 60.0% #
+ [472, 477) 6 30.0% 90.0% ###
+ [477, 483) 0 0.0% 90.0%
+ [483, 491) 1 5.0% 95.0% #
+ [491, 501) 1 5.0% 100.0% #
+ [501, 513) 0 0.0% 100.0%
+ [513, 529) 0 0.0% 100.0%
+ [529, 549) 0 0.0% 100.0%
+ [549, 575) 0 0.0% 100.0%
+ [575, 608) 0 0.0% 100.0%
+ [608, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk___10KB-2 30 263653358 ns/op 75.86 MB/s
+--- Histogram (unit: ms)
+ Count: 30 Min: 242 Max: 275 Avg: 263.13
+ ------------------------------------------------------------
+ [242, 243) 2 6.7% 6.7% #
+ [243, 244) 0 0.0% 6.7%
+ [244, 245) 0 0.0% 6.7%
+ [245, 247) 0 0.0% 6.7%
+ [247, 249) 0 0.0% 6.7%
+ [249, 252) 0 0.0% 6.7%
+ [252, 256) 3 10.0% 16.7% #
+ [256, 261) 5 16.7% 33.3% ##
+ [261, 267) 8 26.7% 60.0% ###
+ [267, 275) 11 36.7% 96.7% ####
+ [275, 285) 1 3.3% 100.0%
+ [285, 297) 0 0.0% 100.0%
+ [297, 313) 0 0.0% 100.0%
+ [313, 333) 0 0.0% 100.0%
+ [333, 359) 0 0.0% 100.0%
+ [359, 392) 0 0.0% 100.0%
+ [392, inf) 0 0.0% 100.0%
+Benchmark___1K_chunk__100KB 3 2573103606 ns/op 77.73 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 1337696624 ns/op 149.51 MB/s
+--- Histogram (unit: s)
+ Count: 5 Min: 1 Max: 1 Avg: 1.00
+ ------------------------------------------------------------
+ [ 1, inf) 5 100.0% 100.0% ##########
+
+Benchmark__per_chunk____1B 50000 192129 ns/op 0.01 MB/s
+Benchmark__per_chunk____1B-2 50000 131601 ns/op 0.02 MB/s
+Benchmark__per_chunk___10B 20000 372009 ns/op 0.05 MB/s
+Benchmark__per_chunk___10B-2 30000 222774 ns/op 0.09 MB/s
+Benchmark__per_chunk__100B 20000 434465 ns/op 0.46 MB/s
+Benchmark__per_chunk__100B-2 30000 238245 ns/op 0.84 MB/s
+Benchmark__per_chunk___1KB 20000 464091 ns/op 4.31 MB/s
+Benchmark__per_chunk___1KB-2 30000 253694 ns/op 7.88 MB/s
+Benchmark__per_chunk__10KB 10000 650380 ns/op 30.75 MB/s
+Benchmark__per_chunk__10KB-2 20000 357218 ns/op 55.99 MB/s
+Benchmark__per_chunk_100KB 3000 2728670 ns/op 73.30 MB/s
+Benchmark__per_chunk_100KB-2 5000 1380520 ns/op 144.87 MB/s
+
+Benchmark___10B_mux__100_chunks___10B 300 26348223 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 9 Max: 30 Avg: 25.79
+ ------------------------------------------------------------
+ [ 9, 10) 19 6.3% 6.3% #
+ [ 10, 11) 5 1.7% 8.0%
+ [ 11, 12) 0 0.0% 8.0%
+ [ 12, 13) 0 0.0% 8.0%
+ [ 13, 15) 0 0.0% 8.0%
+ [ 15, 17) 0 0.0% 8.0%
+ [ 17, 20) 1 0.3% 8.3%
+ [ 20, 24) 10 3.3% 11.7%
+ [ 24, 29) 233 77.7% 89.3% ########
+ [ 29, 35) 32 10.7% 100.0% #
+ [ 35, 42) 0 0.0% 100.0%
+ [ 42, 51) 0 0.0% 100.0%
+ [ 51, 62) 0 0.0% 100.0%
+ [ 62, 75) 0 0.0% 100.0%
+ [ 75, 92) 0 0.0% 100.0%
+ [ 92, 112) 0 0.0% 100.0%
+ [112, inf) 0 0.0% 100.0%
+Benchmark___10B_mux__100_chunks___10B-2 1000 9053248 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 4 Max: 17 Avg: 8.54
+ ------------------------------------------------------------
+ [ 4, 5) 3 0.3% 0.3%
+ [ 5, 6) 48 4.8% 5.1%
+ [ 6, 7) 166 16.6% 21.7% ##
+ [ 7, 8) 206 20.6% 42.3% ##
+ [ 8, 9) 179 17.9% 60.2% ##
+ [ 9, 11) 186 18.6% 78.8% ##
+ [ 11, 13) 111 11.1% 89.9% #
+ [ 13, 16) 96 9.6% 99.5% #
+ [ 16, 19) 5 0.5% 100.0%
+ [ 19, 23) 0 0.0% 100.0%
+ [ 23, 28) 0 0.0% 100.0%
+ [ 28, 34) 0 0.0% 100.0%
+ [ 34, 41) 0 0.0% 100.0%
+ [ 41, inf) 0 0.0% 100.0%
+Benchmark___10B_mux__100_chunks__100B 300 29202434 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 9 Max: 34 Avg: 28.80
+ ------------------------------------------------------------
+ [ 9, 10) 4 1.3% 1.3%
+ [ 10, 11) 10 3.3% 4.7%
+ [ 11, 12) 6 2.0% 6.7%
+ [ 12, 13) 0 0.0% 6.7%
+ [ 13, 15) 0 0.0% 6.7%
+ [ 15, 17) 0 0.0% 6.7%
+ [ 17, 20) 0 0.0% 6.7%
+ [ 20, 24) 0 0.0% 6.7%
+ [ 24, 29) 20 6.7% 13.3% #
+ [ 29, 35) 260 86.7% 100.0% #########
+ [ 35, 43) 0 0.0% 100.0%
+ [ 43, 53) 0 0.0% 100.0%
+ [ 53, 66) 0 0.0% 100.0%
+ [ 66, 82) 0 0.0% 100.0%
+ [ 82, 102) 0 0.0% 100.0%
+ [102, 126) 0 0.0% 100.0%
+ [126, inf) 0 0.0% 100.0%
+Benchmark___10B_mux__100_chunks__100B-2 1000 10238260 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 5 Max: 21 Avg: 9.74
+ ------------------------------------------------------------
+ [ 5, 6) 39 3.9% 3.9%
+ [ 6, 7) 118 11.8% 15.7% #
+ [ 7, 8) 123 12.3% 28.0% #
+ [ 8, 9) 141 14.1% 42.1% #
+ [ 9, 11) 217 21.7% 63.8% ##
+ [ 11, 13) 152 15.2% 79.0% ##
+ [ 13, 16) 157 15.7% 94.7% ##
+ [ 16, 19) 50 5.0% 99.7% #
+ [ 19, 23) 3 0.3% 100.0%
+ [ 23, 28) 0 0.0% 100.0%
+ [ 28, 34) 0 0.0% 100.0%
+ [ 34, 41) 0 0.0% 100.0%
+ [ 41, 50) 0 0.0% 100.0%
+ [ 50, 61) 0 0.0% 100.0%
+ [ 61, 74) 0 0.0% 100.0%
+ [ 74, 90) 0 0.0% 100.0%
+ [ 90, inf) 0 0.0% 100.0%
+Benchmark___10B_mux__100_chunks___1KB 300 30121503 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 9 Max: 38 Avg: 29.57
+ ------------------------------------------------------------
+ [ 9, 10) 7 2.3% 2.3%
+ [ 10, 11) 13 4.3% 6.7%
+ [ 11, 12) 5 1.7% 8.3%
+ [ 12, 13) 3 1.0% 9.3%
+ [ 13, 15) 3 1.0% 10.3%
+ [ 15, 18) 0 0.0% 10.3%
+ [ 18, 21) 0 0.0% 10.3%
+ [ 21, 25) 0 0.0% 10.3%
+ [ 25, 31) 33 11.0% 21.3% #
+ [ 31, 38) 235 78.3% 99.7% ########
+ [ 38, 47) 1 0.3% 100.0%
+ [ 47, 58) 0 0.0% 100.0%
+ [ 58, 72) 0 0.0% 100.0%
+ [ 72, 90) 0 0.0% 100.0%
+ [ 90, 113) 0 0.0% 100.0%
+ [113, 141) 0 0.0% 100.0%
+ [141, inf) 0 0.0% 100.0%
+Benchmark___10B_mux__100_chunks___1KB-2 1000 11123358 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 4 Max: 22 Avg: 10.61
+ ------------------------------------------------------------
+ [ 4, 5) 21 2.1% 2.1%
+ [ 5, 6) 66 6.6% 8.7% #
+ [ 6, 7) 110 11.0% 19.7% #
+ [ 7, 8) 88 8.8% 28.5% #
+ [ 8, 10) 175 17.5% 46.0% ##
+ [ 10, 12) 152 15.2% 61.2% ##
+ [ 12, 15) 168 16.8% 78.0% ##
+ [ 15, 18) 150 15.0% 93.0% ##
+ [ 18, 22) 69 6.9% 99.9% #
+ [ 22, 27) 1 0.1% 100.0%
+ [ 27, 33) 0 0.0% 100.0%
+ [ 33, 41) 0 0.0% 100.0%
+ [ 41, 51) 0 0.0% 100.0%
+ [ 51, 63) 0 0.0% 100.0%
+ [ 63, 77) 0 0.0% 100.0%
+ [ 77, 94) 0 0.0% 100.0%
+ [ 94, inf) 0 0.0% 100.0%
+Benchmark___10B_mux__100_chunks__10KB 200 44810613 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 200 Min: 9 Max: 57 Avg: 44.30
+ ------------------------------------------------------------
+ [ 9, 10) 1 0.5% 0.5%
+ [ 10, 11) 9 4.5% 5.0%
+ [ 11, 12) 1 0.5% 5.5%
+ [ 12, 14) 11 5.5% 11.0% #
+ [ 14, 16) 7 3.5% 14.5%
+ [ 16, 19) 2 1.0% 15.5%
+ [ 19, 23) 0 0.0% 15.5%
+ [ 23, 29) 0 0.0% 15.5%
+ [ 29, 36) 0 0.0% 15.5%
+ [ 36, 46) 21 10.5% 26.0% #
+ [ 46, 59) 148 74.0% 100.0% #######
+ [ 59, 76) 0 0.0% 100.0%
+ [ 76, 98) 0 0.0% 100.0%
+ [ 98, 126) 0 0.0% 100.0%
+ [126, 163) 0 0.0% 100.0%
+ [163, 210) 0 0.0% 100.0%
+ [210, inf) 0 0.0% 100.0%
+Benchmark___10B_mux__100_chunks__10KB-2 300 23793028 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 4 Max: 41 Avg: 23.28
+ ------------------------------------------------------------
+ [ 4, 5) 1 0.3% 0.3%
+ [ 5, 6) 3 1.0% 1.3%
+ [ 6, 7) 2 0.7% 2.0%
+ [ 7, 9) 9 3.0% 5.0%
+ [ 9, 11) 9 3.0% 8.0%
+ [ 11, 14) 21 7.0% 15.0% #
+ [ 14, 18) 19 6.3% 21.3% #
+ [ 18, 23) 51 17.0% 38.3% ##
+ [ 23, 29) 108 36.0% 74.3% ####
+ [ 29, 37) 70 23.3% 97.7% ##
+ [ 37, 48) 7 2.3% 100.0%
+ [ 48, 62) 0 0.0% 100.0%
+ [ 62, 79) 0 0.0% 100.0%
+ [ 79, 101) 0 0.0% 100.0%
+ [101, 130) 0 0.0% 100.0%
+ [130, 166) 0 0.0% 100.0%
+ [166, inf) 0 0.0% 100.0%
+Benchmark___10B_mux___1K_chunks___10B 100 131543346 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 12 Max: 215 Avg: 131.05
+ ------------------------------------------------------------
+ [ 12, 13) 1 1.0% 1.0%
+ [ 13, 14) 0 0.0% 1.0%
+ [ 14, 16) 0 0.0% 1.0%
+ [ 16, 18) 0 0.0% 1.0%
+ [ 18, 22) 2 2.0% 3.0%
+ [ 22, 27) 0 0.0% 3.0%
+ [ 27, 35) 2 2.0% 5.0%
+ [ 35, 46) 0 0.0% 5.0%
+ [ 46, 63) 3 3.0% 8.0%
+ [ 63, 87) 18 18.0% 26.0% ##
+ [ 87, 121) 21 21.0% 47.0% ##
+ [121, 170) 16 16.0% 63.0% ##
+ [170, 240) 37 37.0% 100.0% ####
+ [240, 339) 0 0.0% 100.0%
+ [339, 481) 0 0.0% 100.0%
+ [481, 684) 0 0.0% 100.0%
+ [684, inf) 0 0.0% 100.0%
+Benchmark___10B_mux___1K_chunks___10B-2 300 26865810 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 5 Max: 108 Avg: 26.37
+ ------------------------------------------------------------
+ [ 5, 6) 18 6.0% 6.0% #
+ [ 6, 7) 10 3.3% 9.3%
+ [ 7, 8) 22 7.3% 16.7% #
+ [ 8, 10) 50 16.7% 33.3% ##
+ [ 10, 13) 62 20.7% 54.0% ##
+ [ 13, 17) 43 14.3% 68.3% #
+ [ 17, 23) 21 7.0% 75.3% #
+ [ 23, 31) 5 1.7% 77.0%
+ [ 31, 42) 5 1.7% 78.7%
+ [ 42, 58) 4 1.3% 80.0%
+ [ 58, 79) 19 6.3% 86.3% #
+ [ 79, 108) 40 13.3% 99.7% #
+ [108, 148) 1 0.3% 100.0%
+ [148, 203) 0 0.0% 100.0%
+ [203, 278) 0 0.0% 100.0%
+ [278, 380) 0 0.0% 100.0%
+ [380, inf) 0 0.0% 100.0%
+Benchmark___10B_mux___1K_chunks__100B 50 160157465 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 50 Min: 73 Max: 233 Avg: 159.76
+ ------------------------------------------------------------
+ [ 73, 74) 1 2.0% 2.0%
+ [ 74, 75) 0 0.0% 2.0%
+ [ 75, 76) 0 0.0% 2.0%
+ [ 76, 78) 0 0.0% 2.0%
+ [ 78, 81) 2 4.0% 6.0%
+ [ 81, 86) 3 6.0% 12.0% #
+ [ 86, 93) 2 4.0% 16.0%
+ [ 93, 103) 4 8.0% 24.0% #
+ [103, 117) 4 8.0% 32.0% #
+ [117, 138) 5 10.0% 42.0% #
+ [138, 167) 8 16.0% 58.0% ##
+ [167, 208) 2 4.0% 62.0%
+ [208, 265) 19 38.0% 100.0% ####
+ [265, 346) 0 0.0% 100.0%
+ [346, 460) 0 0.0% 100.0%
+ [460, 619) 0 0.0% 100.0%
+ [619, inf) 0 0.0% 100.0%
+Benchmark___10B_mux___1K_chunks__100B-2 200 38107608 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 200 Min: 4 Max: 124 Avg: 37.60
+ ------------------------------------------------------------
+ [ 4, 5) 1 0.5% 0.5%
+ [ 5, 6) 9 4.5% 5.0%
+ [ 6, 7) 2 1.0% 6.0%
+ [ 7, 9) 9 4.5% 10.5%
+ [ 9, 12) 28 14.0% 24.5% #
+ [ 12, 16) 36 18.0% 42.5% ##
+ [ 16, 22) 40 20.0% 62.5% ##
+ [ 22, 31) 13 6.5% 69.0% #
+ [ 31, 43) 6 3.0% 72.0%
+ [ 43, 60) 3 1.5% 73.5%
+ [ 60, 84) 5 2.5% 76.0%
+ [ 84, 117) 44 22.0% 98.0% ##
+ [117, 163) 4 2.0% 100.0%
+ [163, 226) 0 0.0% 100.0%
+ [226, 313) 0 0.0% 100.0%
+ [313, 432) 0 0.0% 100.0%
+ [432, inf) 0 0.0% 100.0%
+Benchmark___10B_mux___1K_chunks___1KB 100 163950952 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 9 Max: 265 Avg: 163.45
+ ------------------------------------------------------------
+ [ 9, 10) 2 2.0% 2.0%
+ [ 10, 11) 0 0.0% 2.0%
+ [ 11, 13) 0 0.0% 2.0%
+ [ 13, 16) 1 1.0% 3.0%
+ [ 16, 20) 1 1.0% 4.0%
+ [ 20, 26) 0 0.0% 4.0%
+ [ 26, 35) 1 1.0% 5.0%
+ [ 35, 48) 3 3.0% 8.0%
+ [ 48, 67) 0 0.0% 8.0%
+ [ 67, 94) 9 9.0% 17.0% #
+ [ 94, 134) 21 21.0% 38.0% ##
+ [134, 192) 28 28.0% 66.0% ###
+ [192, 276) 34 34.0% 100.0% ###
+ [276, 398) 0 0.0% 100.0%
+ [398, 574) 0 0.0% 100.0%
+ [574, 829) 0 0.0% 100.0%
+ [829, inf) 0 0.0% 100.0%
+Benchmark___10B_mux___1K_chunks___1KB-2 200 43634458 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 200 Min: 4 Max: 137 Avg: 43.13
+ ------------------------------------------------------------
+ [ 4, 5) 7 3.5% 3.5%
+ [ 5, 6) 15 7.5% 11.0% #
+ [ 6, 7) 2 1.0% 12.0%
+ [ 7, 9) 9 4.5% 16.5%
+ [ 9, 12) 20 10.0% 26.5% #
+ [ 12, 17) 22 11.0% 37.5% #
+ [ 17, 24) 27 13.5% 51.0% #
+ [ 24, 33) 17 8.5% 59.5% #
+ [ 33, 46) 14 7.0% 66.5% #
+ [ 46, 64) 9 4.5% 71.0%
+ [ 64, 90) 13 6.5% 77.5% #
+ [ 90, 126) 35 17.5% 95.0% ##
+ [126, 176) 10 5.0% 100.0% #
+ [176, 245) 0 0.0% 100.0%
+ [245, 340) 0 0.0% 100.0%
+ [340, 473) 0 0.0% 100.0%
+ [473, inf) 0 0.0% 100.0%
+Benchmark___10B_mux___1K_chunks__10KB 100 93479160 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 8 Max: 138 Avg: 92.97
+ ------------------------------------------------------------
+ [ 8, 9) 1 1.0% 1.0%
+ [ 9, 10) 0 0.0% 1.0%
+ [ 10, 11) 0 0.0% 1.0%
+ [ 11, 13) 0 0.0% 1.0%
+ [ 13, 16) 0 0.0% 1.0%
+ [ 16, 21) 3 3.0% 4.0%
+ [ 21, 28) 3 3.0% 7.0%
+ [ 28, 37) 2 2.0% 9.0%
+ [ 37, 50) 3 3.0% 12.0%
+ [ 50, 68) 12 12.0% 24.0% #
+ [ 68, 93) 12 12.0% 36.0% #
+ [ 93, 128) 55 55.0% 91.0% ######
+ [128, 177) 9 9.0% 100.0% #
+ [177, 244) 0 0.0% 100.0%
+ [244, 337) 0 0.0% 100.0%
+ [337, 466) 0 0.0% 100.0%
+ [466, inf) 0 0.0% 100.0%
+Benchmark___10B_mux___1K_chunks__10KB-2 100 54432420 ns/op 0.00 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 5 Max: 89 Avg: 53.92
+ ------------------------------------------------------------
+ [ 5, 6) 1 1.0% 1.0%
+ [ 6, 7) 2 2.0% 3.0%
+ [ 7, 8) 1 1.0% 4.0%
+ [ 8, 10) 2 2.0% 6.0%
+ [ 10, 13) 3 3.0% 9.0%
+ [ 13, 17) 1 1.0% 10.0%
+ [ 17, 22) 6 6.0% 16.0% #
+ [ 22, 29) 2 2.0% 18.0%
+ [ 29, 39) 8 8.0% 26.0% #
+ [ 39, 53) 12 12.0% 38.0% #
+ [ 53, 72) 38 38.0% 76.0% ####
+ [ 72, 97) 24 24.0% 100.0% ##
+ [ 97, 131) 0 0.0% 100.0%
+ [131, 177) 0 0.0% 100.0%
+ [177, 239) 0 0.0% 100.0%
+ [239, 322) 0 0.0% 100.0%
+ [322, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux__100_chunks___10B 300 26012216 ns/op 0.08 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 8 Max: 32 Avg: 25.48
+ ------------------------------------------------------------
+ [ 8, 9) 2 0.7% 0.7%
+ [ 9, 10) 0 0.0% 0.7%
+ [ 10, 11) 0 0.0% 0.7%
+ [ 11, 12) 10 3.3% 4.0%
+ [ 12, 14) 0 0.0% 4.0%
+ [ 14, 16) 1 0.3% 4.3%
+ [ 16, 19) 0 0.0% 4.3%
+ [ 19, 23) 9 3.0% 7.3%
+ [ 23, 28) 202 67.3% 74.7% #######
+ [ 28, 34) 76 25.3% 100.0% ###
+ [ 34, 42) 0 0.0% 100.0%
+ [ 42, 52) 0 0.0% 100.0%
+ [ 52, 64) 0 0.0% 100.0%
+ [ 64, 79) 0 0.0% 100.0%
+ [ 79, 98) 0 0.0% 100.0%
+ [ 98, 122) 0 0.0% 100.0%
+ [122, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux__100_chunks___10B-2 1000 7943170 ns/op 0.25 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 4 Max: 22 Avg: 7.46
+ ------------------------------------------------------------
+ [ 4, 5) 10 1.0% 1.0%
+ [ 5, 6) 233 23.3% 24.3% ##
+ [ 6, 7) 284 28.4% 52.7% ###
+ [ 7, 8) 126 12.6% 65.3% #
+ [ 8, 10) 155 15.5% 80.8% ##
+ [ 10, 12) 87 8.7% 89.5% #
+ [ 12, 15) 82 8.2% 97.7% #
+ [ 15, 18) 19 1.9% 99.6%
+ [ 18, 22) 3 0.3% 99.9%
+ [ 22, 27) 1 0.1% 100.0%
+ [ 27, 33) 0 0.0% 100.0%
+ [ 33, 41) 0 0.0% 100.0%
+ [ 41, 51) 0 0.0% 100.0%
+ [ 51, 63) 0 0.0% 100.0%
+ [ 63, 77) 0 0.0% 100.0%
+ [ 77, 94) 0 0.0% 100.0%
+ [ 94, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux__100_chunks__100B 300 26131776 ns/op 0.08 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 8 Max: 35 Avg: 25.63
+ ------------------------------------------------------------
+ [ 8, 9) 1 0.3% 0.3%
+ [ 9, 10) 0 0.0% 0.3%
+ [ 10, 11) 0 0.0% 0.3%
+ [ 11, 12) 0 0.0% 0.3%
+ [ 12, 14) 0 0.0% 0.3%
+ [ 14, 17) 0 0.0% 0.3%
+ [ 17, 20) 1 0.3% 0.7%
+ [ 20, 24) 126 42.0% 42.7% ####
+ [ 24, 29) 86 28.7% 71.3% ###
+ [ 29, 36) 86 28.7% 100.0% ###
+ [ 36, 45) 0 0.0% 100.0%
+ [ 45, 56) 0 0.0% 100.0%
+ [ 56, 69) 0 0.0% 100.0%
+ [ 69, 86) 0 0.0% 100.0%
+ [ 86, 107) 0 0.0% 100.0%
+ [107, 134) 0 0.0% 100.0%
+ [134, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux__100_chunks__100B-2 1000 8434636 ns/op 0.24 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 4 Max: 23 Avg: 7.96
+ ------------------------------------------------------------
+ [ 4, 5) 6 0.6% 0.6%
+ [ 5, 6) 165 16.5% 17.1% ##
+ [ 6, 7) 286 28.6% 45.7% ###
+ [ 7, 8) 152 15.2% 60.9% ##
+ [ 8, 10) 151 15.1% 76.0% ##
+ [ 10, 12) 97 9.7% 85.7% #
+ [ 12, 15) 91 9.1% 94.8% #
+ [ 15, 18) 43 4.3% 99.1%
+ [ 18, 22) 7 0.7% 99.8%
+ [ 22, 27) 2 0.2% 100.0%
+ [ 27, 34) 0 0.0% 100.0%
+ [ 34, 42) 0 0.0% 100.0%
+ [ 42, 52) 0 0.0% 100.0%
+ [ 52, 64) 0 0.0% 100.0%
+ [ 64, 79) 0 0.0% 100.0%
+ [ 79, 97) 0 0.0% 100.0%
+ [ 97, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux__100_chunks___1KB 200 31946178 ns/op 0.06 MB/s
+--- Histogram (unit: ms)
+ Count: 200 Min: 9 Max: 44 Avg: 31.49
+ ------------------------------------------------------------
+ [ 9, 10) 12 6.0% 6.0% #
+ [ 10, 11) 1 0.5% 6.5%
+ [ 11, 12) 0 0.0% 6.5%
+ [ 12, 14) 4 2.0% 8.5%
+ [ 14, 16) 0 0.0% 8.5%
+ [ 16, 19) 2 1.0% 9.5%
+ [ 19, 23) 0 0.0% 9.5%
+ [ 23, 28) 13 6.5% 16.0% #
+ [ 28, 34) 93 46.5% 62.5% #####
+ [ 34, 42) 71 35.5% 98.0% ####
+ [ 42, 52) 4 2.0% 100.0%
+ [ 52, 65) 0 0.0% 100.0%
+ [ 65, 82) 0 0.0% 100.0%
+ [ 82, 103) 0 0.0% 100.0%
+ [103, 130) 0 0.0% 100.0%
+ [130, 164) 0 0.0% 100.0%
+ [164, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux__100_chunks___1KB-2 1000 11688416 ns/op 0.17 MB/s
+--- Histogram (unit: ms)
+ Count: 1000 Min: 4 Max: 28 Avg: 11.20
+ ------------------------------------------------------------
+ [ 4, 5) 5 0.5% 0.5%
+ [ 5, 6) 69 6.9% 7.4% #
+ [ 6, 7) 75 7.5% 14.9% #
+ [ 7, 8) 121 12.1% 27.0% #
+ [ 8, 10) 171 17.1% 44.1% ##
+ [ 10, 12) 134 13.4% 57.5% #
+ [ 12, 15) 172 17.2% 74.7% ##
+ [ 15, 19) 170 17.0% 91.7% ##
+ [ 19, 24) 79 7.9% 99.6% #
+ [ 24, 30) 4 0.4% 100.0%
+ [ 30, 38) 0 0.0% 100.0%
+ [ 38, 48) 0 0.0% 100.0%
+ [ 48, 60) 0 0.0% 100.0%
+ [ 60, 75) 0 0.0% 100.0%
+ [ 75, 94) 0 0.0% 100.0%
+ [ 94, 118) 0 0.0% 100.0%
+ [118, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux__100_chunks__10KB 200 48210454 ns/op 0.04 MB/s
+--- Histogram (unit: ms)
+ Count: 200 Min: 9 Max: 61 Avg: 47.74
+ ------------------------------------------------------------
+ [ 9, 10) 1 0.5% 0.5%
+ [ 10, 11) 0 0.0% 0.5%
+ [ 11, 12) 0 0.0% 0.5%
+ [ 12, 14) 14 7.0% 7.5% #
+ [ 14, 16) 9 4.5% 12.0%
+ [ 16, 19) 5 2.5% 14.5%
+ [ 19, 23) 2 1.0% 15.5%
+ [ 23, 29) 0 0.0% 15.5%
+ [ 29, 37) 0 0.0% 15.5%
+ [ 37, 47) 7 3.5% 19.0%
+ [ 47, 60) 159 79.5% 98.5% ########
+ [ 60, 78) 3 1.5% 100.0%
+ [ 78, 101) 0 0.0% 100.0%
+ [101, 131) 0 0.0% 100.0%
+ [131, 170) 0 0.0% 100.0%
+ [170, 222) 0 0.0% 100.0%
+ [222, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux__100_chunks__10KB-2 300 24547213 ns/op 0.08 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 4 Max: 42 Avg: 24.07
+ ------------------------------------------------------------
+ [ 4, 5) 1 0.3% 0.3%
+ [ 5, 6) 8 2.7% 3.0%
+ [ 6, 7) 1 0.3% 3.3%
+ [ 7, 9) 6 2.0% 5.3%
+ [ 9, 11) 14 4.7% 10.0%
+ [ 11, 14) 24 8.0% 18.0% #
+ [ 14, 18) 13 4.3% 22.3%
+ [ 18, 23) 37 12.3% 34.7% #
+ [ 23, 29) 67 22.3% 57.0% ##
+ [ 29, 37) 120 40.0% 97.0% ####
+ [ 37, 48) 9 3.0% 100.0%
+ [ 48, 62) 0 0.0% 100.0%
+ [ 62, 80) 0 0.0% 100.0%
+ [ 80, 103) 0 0.0% 100.0%
+ [103, 132) 0 0.0% 100.0%
+ [132, 169) 0 0.0% 100.0%
+ [169, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux___1K_chunks___10B 100 131862174 ns/op 0.02 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 10 Max: 209 Avg: 131.34
+ ------------------------------------------------------------
+ [ 10, 11) 1 1.0% 1.0%
+ [ 11, 12) 1 1.0% 2.0%
+ [ 12, 14) 0 0.0% 2.0%
+ [ 14, 16) 0 0.0% 2.0%
+ [ 16, 20) 1 1.0% 3.0%
+ [ 20, 25) 0 0.0% 3.0%
+ [ 25, 33) 0 0.0% 3.0%
+ [ 33, 44) 0 0.0% 3.0%
+ [ 44, 60) 4 4.0% 7.0%
+ [ 60, 83) 16 16.0% 23.0% ##
+ [ 83, 117) 18 18.0% 41.0% ##
+ [117, 165) 24 24.0% 65.0% ##
+ [165, 234) 35 35.0% 100.0% ####
+ [234, 332) 0 0.0% 100.0%
+ [332, 471) 0 0.0% 100.0%
+ [471, 669) 0 0.0% 100.0%
+ [669, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux___1K_chunks___10B-2 300 23370846 ns/op 0.09 MB/s
+--- Histogram (unit: ms)
+ Count: 300 Min: 4 Max: 101 Avg: 22.88
+ ------------------------------------------------------------
+ [ 4, 5) 1 0.3% 0.3%
+ [ 5, 6) 24 8.0% 8.3% #
+ [ 6, 7) 49 16.3% 24.7% ##
+ [ 7, 9) 48 16.0% 40.7% ##
+ [ 9, 12) 26 8.7% 49.3% #
+ [ 12, 16) 53 17.7% 67.0% ##
+ [ 16, 22) 36 12.0% 79.0% #
+ [ 22, 30) 5 1.7% 80.7%
+ [ 30, 41) 4 1.3% 82.0%
+ [ 41, 56) 3 1.0% 83.0%
+ [ 56, 77) 21 7.0% 90.0% #
+ [ 77, 105) 30 10.0% 100.0% #
+ [105, 143) 0 0.0% 100.0%
+ [143, 195) 0 0.0% 100.0%
+ [195, 266) 0 0.0% 100.0%
+ [266, 362) 0 0.0% 100.0%
+ [362, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux___1K_chunks__100B 50 138026822 ns/op 0.01 MB/s
+--- Histogram (unit: ms)
+ Count: 50 Min: 22 Max: 222 Avg: 137.50
+ ------------------------------------------------------------
+ [ 22, 23) 1 2.0% 2.0%
+ [ 23, 24) 1 2.0% 4.0%
+ [ 24, 26) 0 0.0% 4.0%
+ [ 26, 28) 0 0.0% 4.0%
+ [ 28, 32) 0 0.0% 4.0%
+ [ 32, 37) 0 0.0% 4.0%
+ [ 37, 45) 0 0.0% 4.0%
+ [ 45, 56) 2 4.0% 8.0%
+ [ 56, 72) 2 4.0% 12.0%
+ [ 72, 96) 7 14.0% 26.0% #
+ [ 96, 130) 11 22.0% 48.0% ##
+ [130, 178) 10 20.0% 68.0% ##
+ [178, 247) 16 32.0% 100.0% ###
+ [247, 345) 0 0.0% 100.0%
+ [345, 485) 0 0.0% 100.0%
+ [485, 684) 0 0.0% 100.0%
+ [684, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux___1K_chunks__100B-2 200 29916622 ns/op 0.07 MB/s
+--- Histogram (unit: ms)
+ Count: 200 Min: 5 Max: 117 Avg: 29.41
+ ------------------------------------------------------------
+ [ 5, 6) 8 4.0% 4.0%
+ [ 6, 7) 19 9.5% 13.5% #
+ [ 7, 8) 15 7.5% 21.0% #
+ [ 8, 10) 31 15.5% 36.5% ##
+ [ 10, 13) 25 12.5% 49.0% #
+ [ 13, 17) 37 18.5% 67.5% ##
+ [ 17, 23) 15 7.5% 75.0% #
+ [ 23, 32) 4 2.0% 77.0%
+ [ 32, 44) 2 1.0% 78.0%
+ [ 44, 60) 0 0.0% 78.0%
+ [ 60, 83) 4 2.0% 80.0%
+ [ 83, 114) 38 19.0% 99.0% ##
+ [114, 157) 2 1.0% 100.0%
+ [157, 216) 0 0.0% 100.0%
+ [216, 297) 0 0.0% 100.0%
+ [297, 408) 0 0.0% 100.0%
+ [408, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux___1K_chunks___1KB 50 165938483 ns/op 0.01 MB/s
+--- Histogram (unit: ms)
+ Count: 50 Min: 19 Max: 292 Avg: 165.50
+ ------------------------------------------------------------
+ [ 19, 20) 1 2.0% 2.0%
+ [ 20, 21) 0 0.0% 2.0%
+ [ 21, 23) 0 0.0% 2.0%
+ [ 23, 26) 0 0.0% 2.0%
+ [ 26, 30) 0 0.0% 2.0%
+ [ 30, 36) 0 0.0% 2.0%
+ [ 36, 45) 0 0.0% 2.0%
+ [ 45, 58) 1 2.0% 4.0%
+ [ 58, 77) 0 0.0% 4.0%
+ [ 77, 105) 10 20.0% 24.0% ##
+ [105, 147) 11 22.0% 46.0% ##
+ [147, 208) 14 28.0% 74.0% ###
+ [208, 296) 13 26.0% 100.0% ###
+ [296, 425) 0 0.0% 100.0%
+ [425, 612) 0 0.0% 100.0%
+ [612, 884) 0 0.0% 100.0%
+ [884, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux___1K_chunks___1KB-2 200 44332653 ns/op 0.05 MB/s
+--- Histogram (unit: ms)
+ Count: 200 Min: 5 Max: 136 Avg: 43.85
+ ------------------------------------------------------------
+ [ 5, 6) 10 5.0% 5.0% #
+ [ 6, 7) 1 0.5% 5.5%
+ [ 7, 8) 2 1.0% 6.5%
+ [ 8, 10) 14 7.0% 13.5% #
+ [ 10, 13) 22 11.0% 24.5% #
+ [ 13, 18) 23 11.5% 36.0% #
+ [ 18, 25) 24 12.0% 48.0% #
+ [ 25, 34) 21 10.5% 58.5% #
+ [ 34, 47) 19 9.5% 68.0% #
+ [ 47, 65) 9 4.5% 72.5%
+ [ 65, 90) 10 5.0% 77.5% #
+ [ 90, 125) 38 19.0% 96.5% ##
+ [125, 174) 7 3.5% 100.0%
+ [174, 242) 0 0.0% 100.0%
+ [242, 336) 0 0.0% 100.0%
+ [336, 466) 0 0.0% 100.0%
+ [466, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux___1K_chunks__10KB 100 97935953 ns/op 0.02 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 10 Max: 161 Avg: 97.40
+ ------------------------------------------------------------
+ [ 10, 11) 1 1.0% 1.0%
+ [ 11, 12) 0 0.0% 1.0%
+ [ 12, 13) 0 0.0% 1.0%
+ [ 13, 15) 1 1.0% 2.0%
+ [ 15, 18) 0 0.0% 2.0%
+ [ 18, 23) 0 0.0% 2.0%
+ [ 23, 30) 1 1.0% 3.0%
+ [ 30, 40) 4 4.0% 7.0%
+ [ 40, 54) 4 4.0% 11.0%
+ [ 54, 74) 17 17.0% 28.0% ##
+ [ 74, 102) 20 20.0% 48.0% ##
+ [102, 141) 45 45.0% 93.0% #####
+ [141, 196) 7 7.0% 100.0% #
+ [196, 273) 0 0.0% 100.0%
+ [273, 381) 0 0.0% 100.0%
+ [381, 531) 0 0.0% 100.0%
+ [531, inf) 0 0.0% 100.0%
+Benchmark___1KB_mux___1K_chunks__10KB-2 100 59656535 ns/op 0.03 MB/s
+--- Histogram (unit: ms)
+ Count: 100 Min: 5 Max: 111 Avg: 59.16
+ ------------------------------------------------------------
+ [ 5, 6) 2 2.0% 2.0%
+ [ 6, 7) 0 0.0% 2.0%
+ [ 7, 8) 0 0.0% 2.0%
+ [ 8, 10) 0 0.0% 2.0%
+ [ 10, 13) 2 2.0% 4.0%
+ [ 13, 17) 3 3.0% 7.0%
+ [ 17, 23) 2 2.0% 9.0%
+ [ 23, 31) 9 9.0% 18.0% #
+ [ 31, 43) 5 5.0% 23.0% #
+ [ 43, 59) 17 17.0% 40.0% ##
+ [ 59, 81) 47 47.0% 87.0% #####
+ [ 81, 111) 12 12.0% 99.0% #
+ [111, 152) 1 1.0% 100.0%
+ [152, 208) 0 0.0% 100.0%
+ [208, 285) 0 0.0% 100.0%
+ [285, 390) 0 0.0% 100.0%
+ [390, inf) 0 0.0% 100.0%
diff --git a/runtimes/google/ipc/benchmark/benchmark_test.go b/runtimes/google/ipc/benchmark/benchmark_test.go
new file mode 100644
index 0000000..cb459f3
--- /dev/null
+++ b/runtimes/google/ipc/benchmark/benchmark_test.go
@@ -0,0 +1,121 @@
+package benchmark
+
+import (
+ "os"
+ "testing"
+
+ "v.io/core/veyron/lib/testutil/benchmark"
+ "v.io/core/veyron/profiles"
+
+ "v.io/core/veyron2"
+ "v.io/core/veyron2/rt"
+)
+
+var (
+ vrt veyron2.Runtime
+ serverAddr string
+)
+
+// Benchmarks for non-streaming RPC.
+func runEcho(b *testing.B, payloadSize int) {
+ CallEcho(b, vrt.NewContext(), serverAddr, b.N, payloadSize, benchmark.AddStats(b, 16))
+}
+
+func Benchmark____1B(b *testing.B) { runEcho(b, 1) }
+func Benchmark___10B(b *testing.B) { runEcho(b, 10) }
+func Benchmark__100B(b *testing.B) { runEcho(b, 100) }
+func Benchmark___1KB(b *testing.B) { runEcho(b, 1000) }
+func Benchmark__10KB(b *testing.B) { runEcho(b, 10000) }
+func Benchmark_100KB(b *testing.B) { runEcho(b, 100000) }
+
+// Benchmarks for streaming RPC.
+func runEchoStream(b *testing.B, chunkCnt, payloadSize int) {
+ CallEchoStream(b, vrt.NewContext(), serverAddr, b.N, chunkCnt, payloadSize, benchmark.AddStats(b, 16))
+}
+
+func Benchmark____1_chunk_____1B(b *testing.B) { runEchoStream(b, 1, 1) }
+func Benchmark____1_chunk____10B(b *testing.B) { runEchoStream(b, 1, 10) }
+func Benchmark____1_chunk___100B(b *testing.B) { runEchoStream(b, 1, 100) }
+func Benchmark____1_chunk____1KB(b *testing.B) { runEchoStream(b, 1, 1000) }
+func Benchmark____1_chunk___10KB(b *testing.B) { runEchoStream(b, 1, 10000) }
+func Benchmark____1_chunk__100KB(b *testing.B) { runEchoStream(b, 1, 100000) }
+func Benchmark___10_chunk_____1B(b *testing.B) { runEchoStream(b, 10, 1) }
+func Benchmark___10_chunk____10B(b *testing.B) { runEchoStream(b, 10, 10) }
+func Benchmark___10_chunk___100B(b *testing.B) { runEchoStream(b, 10, 100) }
+func Benchmark___10_chunk____1KB(b *testing.B) { runEchoStream(b, 10, 1000) }
+func Benchmark___10_chunk___10KB(b *testing.B) { runEchoStream(b, 10, 10000) }
+func Benchmark___10_chunk__100KB(b *testing.B) { runEchoStream(b, 10, 100000) }
+func Benchmark__100_chunk_____1B(b *testing.B) { runEchoStream(b, 100, 1) }
+func Benchmark__100_chunk____10B(b *testing.B) { runEchoStream(b, 100, 10) }
+func Benchmark__100_chunk___100B(b *testing.B) { runEchoStream(b, 100, 100) }
+func Benchmark__100_chunk____1KB(b *testing.B) { runEchoStream(b, 100, 1000) }
+func Benchmark__100_chunk___10KB(b *testing.B) { runEchoStream(b, 100, 10000) }
+func Benchmark__100_chunk__100KB(b *testing.B) { runEchoStream(b, 100, 100000) }
+func Benchmark___1K_chunk_____1B(b *testing.B) { runEchoStream(b, 1000, 1) }
+func Benchmark___1K_chunk____10B(b *testing.B) { runEchoStream(b, 1000, 10) }
+func Benchmark___1K_chunk___100B(b *testing.B) { runEchoStream(b, 1000, 100) }
+func Benchmark___1K_chunk____1KB(b *testing.B) { runEchoStream(b, 1000, 1000) }
+func Benchmark___1K_chunk___10KB(b *testing.B) { runEchoStream(b, 1000, 10000) }
+func Benchmark___1K_chunk__100KB(b *testing.B) { runEchoStream(b, 1000, 100000) }
+
+// Benchmarks for per-chunk throughput in streaming RPC.
+func runPerChunk(b *testing.B, payloadSize int) {
+ CallEchoStream(b, vrt.NewContext(), serverAddr, 1, b.N, payloadSize, benchmark.NewStats(1))
+}
+
+func Benchmark__per_chunk____1B(b *testing.B) { runPerChunk(b, 1) }
+func Benchmark__per_chunk___10B(b *testing.B) { runPerChunk(b, 10) }
+func Benchmark__per_chunk__100B(b *testing.B) { runPerChunk(b, 100) }
+func Benchmark__per_chunk___1KB(b *testing.B) { runPerChunk(b, 1000) }
+func Benchmark__per_chunk__10KB(b *testing.B) { runPerChunk(b, 10000) }
+func Benchmark__per_chunk_100KB(b *testing.B) { runPerChunk(b, 100000) }
+
+// Benchmarks for non-streaming RPC while running streaming RPC in background.
+func runMux(b *testing.B, payloadSize, chunkCntB, payloadSizeB int) {
+ _, stop := StartEchoStream(&testing.B{}, vrt.NewContext(), serverAddr, 0, chunkCntB, payloadSizeB, benchmark.NewStats(1))
+ CallEcho(b, vrt.NewContext(), serverAddr, b.N, payloadSize, benchmark.AddStats(b, 16))
+ stop()
+}
+
+func Benchmark___10B_mux__100_chunks___10B(b *testing.B) { runMux(b, 10, 100, 10) }
+func Benchmark___10B_mux__100_chunks__100B(b *testing.B) { runMux(b, 10, 100, 100) }
+func Benchmark___10B_mux__100_chunks___1KB(b *testing.B) { runMux(b, 10, 100, 1000) }
+func Benchmark___10B_mux__100_chunks__10KB(b *testing.B) { runMux(b, 10, 100, 10000) }
+func Benchmark___10B_mux___1K_chunks___10B(b *testing.B) { runMux(b, 10, 1000, 10) }
+func Benchmark___10B_mux___1K_chunks__100B(b *testing.B) { runMux(b, 10, 1000, 100) }
+func Benchmark___10B_mux___1K_chunks___1KB(b *testing.B) { runMux(b, 10, 1000, 1000) }
+func Benchmark___10B_mux___1K_chunks__10KB(b *testing.B) { runMux(b, 10, 1000, 10000) }
+func Benchmark___1KB_mux__100_chunks___10B(b *testing.B) { runMux(b, 1000, 100, 10) }
+func Benchmark___1KB_mux__100_chunks__100B(b *testing.B) { runMux(b, 1000, 100, 100) }
+func Benchmark___1KB_mux__100_chunks___1KB(b *testing.B) { runMux(b, 1000, 100, 1000) }
+func Benchmark___1KB_mux__100_chunks__10KB(b *testing.B) { runMux(b, 1000, 100, 10000) }
+func Benchmark___1KB_mux___1K_chunks___10B(b *testing.B) { runMux(b, 1000, 1000, 10) }
+func Benchmark___1KB_mux___1K_chunks__100B(b *testing.B) { runMux(b, 1000, 1000, 100) }
+func Benchmark___1KB_mux___1K_chunks___1KB(b *testing.B) { runMux(b, 1000, 1000, 1000) }
+func Benchmark___1KB_mux___1K_chunks__10KB(b *testing.B) { runMux(b, 1000, 1000, 10000) }
+
+// A single empty test to avoid:
+// testing: warning: no tests to run
+// from showing up when running benchmarks in this package via "go test"
+func TestNoOp(t *testing.T) {}
+
+func TestMain(m *testing.M) {
+ var err error
+ vrt, err = rt.New()
+ if err != nil {
+ panic(err)
+ }
+
+ var serverStop func()
+ serverAddr, serverStop = StartServer(vrt, profiles.LocalListenSpec)
+
+ // Create a VC to exclude the VC setup time from the benchmark.
+ CallEcho(&testing.B{}, vrt.NewContext(), serverAddr, 1, 0, benchmark.NewStats(1))
+
+ r := benchmark.RunTestMain(m)
+
+ serverStop()
+ vrt.Cleanup()
+
+ os.Exit(r)
+}
diff --git a/runtimes/google/ipc/benchmarks/bmclient/main.go b/runtimes/google/ipc/benchmark/bmclient/main.go
similarity index 77%
rename from runtimes/google/ipc/benchmarks/bmclient/main.go
rename to runtimes/google/ipc/benchmark/bmclient/main.go
index 091421b..e6fc5d3 100644
--- a/runtimes/google/ipc/benchmarks/bmclient/main.go
+++ b/runtimes/google/ipc/benchmark/bmclient/main.go
@@ -8,12 +8,12 @@
"testing"
"time"
+ tbm "v.io/core/veyron/lib/testutil/benchmark"
+ _ "v.io/core/veyron/profiles"
+ "v.io/core/veyron/runtimes/google/ipc/benchmark"
+
"v.io/core/veyron2/rt"
"v.io/core/veyron2/vlog"
-
- "v.io/core/veyron/lib/testutil"
- _ "v.io/core/veyron/profiles"
- "v.io/core/veyron/runtimes/google/ipc/benchmarks"
)
var (
@@ -36,20 +36,20 @@
if *chunkCntMux > 0 && *payloadSizeMux > 0 {
dummyB := testing.B{}
- _, stop := benchmarks.StartEchoStream(&dummyB, vrt.NewContext(), *server, 0, *chunkCntMux, *payloadSizeMux, nil)
+ _, stop := benchmark.StartEchoStream(&dummyB, vrt.NewContext(), *server, 0, *chunkCntMux, *payloadSizeMux, nil)
defer stop()
vlog.Infof("Started background streaming (chunk_size=%d, payload_size=%d)", *chunkCntMux, *payloadSizeMux)
}
dummyB := testing.B{}
- stats := testutil.NewBenchStats(16)
+ stats := tbm.NewStats(16)
now := time.Now()
ctx := vrt.NewContext()
if *chunkCnt == 0 {
- benchmarks.CallEcho(&dummyB, ctx, *server, *iterations, *payloadSize, stats)
+ benchmark.CallEcho(&dummyB, ctx, *server, *iterations, *payloadSize, stats)
} else {
- benchmarks.CallEchoStream(&dummyB, ctx, *server, *iterations, *chunkCnt, *payloadSize, stats)
+ benchmark.CallEchoStream(&dummyB, ctx, *server, *iterations, *chunkCnt, *payloadSize, stats)
}
elapsed := time.Since(now)
diff --git a/runtimes/google/ipc/benchmarks/bmserver/main.go b/runtimes/google/ipc/benchmark/bmserver/main.go
similarity index 78%
rename from runtimes/google/ipc/benchmarks/bmserver/main.go
rename to runtimes/google/ipc/benchmark/bmserver/main.go
index f621c7b..6b68072 100644
--- a/runtimes/google/ipc/benchmarks/bmserver/main.go
+++ b/runtimes/google/ipc/benchmark/bmserver/main.go
@@ -2,12 +2,12 @@
package main
import (
- "v.io/core/veyron2/rt"
- "v.io/core/veyron2/vlog"
-
"v.io/core/veyron/lib/signals"
"v.io/core/veyron/profiles/roaming"
- "v.io/core/veyron/runtimes/google/ipc/benchmarks"
+ "v.io/core/veyron/runtimes/google/ipc/benchmark"
+
+ "v.io/core/veyron2/rt"
+ "v.io/core/veyron2/vlog"
)
func main() {
@@ -17,7 +17,7 @@
}
defer vrt.Cleanup()
- addr, stop := benchmarks.StartServer(vrt, roaming.ListenSpec)
+ addr, stop := benchmark.StartServer(vrt, roaming.ListenSpec)
vlog.Infof("Listening on %s", addr)
defer stop()
<-signals.ShutdownOnSignals(vrt)
diff --git a/runtimes/google/ipc/benchmarks/client.go b/runtimes/google/ipc/benchmark/client.go
similarity index 72%
rename from runtimes/google/ipc/benchmarks/client.go
rename to runtimes/google/ipc/benchmark/client.go
index c920458..2ecdae8 100644
--- a/runtimes/google/ipc/benchmarks/client.go
+++ b/runtimes/google/ipc/benchmark/client.go
@@ -1,4 +1,4 @@
-package benchmarks
+package benchmark
import (
"bytes"
@@ -6,25 +6,20 @@
"testing"
"time"
- "v.io/core/veyron/lib/testutil"
+ "v.io/core/veyron/lib/testutil/benchmark"
"v.io/core/veyron2/context"
"v.io/core/veyron2/vlog"
)
-// CallEcho calls 'Echo' method 'iterations' times with the given payload
-// size, and optionally updates the stats.
-func CallEcho(b *testing.B, ctx *context.T, address string, iterations, payloadSize int, stats *testutil.BenchStats) {
+// CallEcho calls 'Echo' method 'iterations' times with the given payload size.
+func CallEcho(b *testing.B, ctx *context.T, address string, iterations, payloadSize int, stats *benchmark.Stats) {
stub := BenchmarkClient(address)
payload := make([]byte, payloadSize)
for i := range payload {
payload[i] = byte(i & 0xff)
}
- if stats != nil {
- stats.Clear()
- }
-
b.SetBytes(int64(payloadSize) * 2) // 2 for round trip of each payload.
b.ResetTimer() // Exclude setup time from measurement.
@@ -44,38 +39,31 @@
vlog.Fatalf("Echo returned %v, but expected %v", r, payload)
}
- if stats != nil {
- stats.Add(elapsed)
- }
+ stats.Add(elapsed)
}
}
-// CallEchoStream calls 'EchoStream' method 'iterations' times. Each iteration
-// sends 'chunkCnt' chunks on the stream and receives the same number of chunks
-// back. Each chunk has the given payload size. Optionally updates the stats.
-func CallEchoStream(b *testing.B, ctx *context.T, address string, iterations, chunkCnt, payloadSize int, stats *testutil.BenchStats) {
+// CallEchoStream calls 'EchoStream' method 'iterations' times. Each iteration sends
+// 'chunkCnt' chunks on the stream and receives the same number of chunks back. Each
+// chunk has the given payload size.
+func CallEchoStream(b *testing.B, ctx *context.T, address string, iterations, chunkCnt, payloadSize int, stats *benchmark.Stats) {
done, _ := StartEchoStream(b, ctx, address, iterations, chunkCnt, payloadSize, stats)
<-done
}
-// StartEchoStream starts to call 'EchoStream' method 'iterations' times.
-// This does not block, and returns a channel that will receive the number
-// of iterations when it's done. It also returns a callback function to stop
-// the streaming. Each iteration requests 'chunkCnt' chunks on the stream and
-// receives that number of chunks back. Each chunk has the given payload size.
-// Optionally updates the stats. Zero 'iterations' means unlimited.
-func StartEchoStream(b *testing.B, ctx *context.T, address string, iterations, chunkCnt, payloadSize int, stats *testutil.BenchStats) (<-chan int, func()) {
+// StartEchoStream starts to call 'EchoStream' method 'iterations' times. This does
+// not block, and returns a channel that will receive the number of iterations when
+// it's done. It also returns a callback function to stop the streaming. Each iteration
+// requests 'chunkCnt' chunks on the stream and receives that number of chunks back.
+// Each chunk has the given payload size. Zero 'iterations' means unlimited.
+func StartEchoStream(b *testing.B, ctx *context.T, address string, iterations, chunkCnt, payloadSize int, stats *benchmark.Stats) (<-chan int, func()) {
stub := BenchmarkClient(address)
payload := make([]byte, payloadSize)
for i := range payload {
payload[i] = byte(i & 0xff)
}
- if stats != nil {
- stats.Clear()
- }
-
- done, stop := make(chan int, 1), make(chan struct{})
+ stop := make(chan struct{})
stopped := func() bool {
select {
case <-stop:
@@ -84,6 +72,7 @@
return false
}
}
+ done := make(chan int, 1)
if b.N > 0 {
// 2 for round trip of each payload.
@@ -145,9 +134,7 @@
elapsed := time.Since(start)
b.StopTimer()
- if stats != nil {
- stats.Add(elapsed)
- }
+ stats.Add(elapsed)
}
done <- n
diff --git a/runtimes/google/ipc/benchmarks/glob/README.txt b/runtimes/google/ipc/benchmark/glob/README.txt
similarity index 100%
rename from runtimes/google/ipc/benchmarks/glob/README.txt
rename to runtimes/google/ipc/benchmark/glob/README.txt
diff --git a/runtimes/google/ipc/benchmarks/glob/doc.go b/runtimes/google/ipc/benchmark/glob/doc.go
similarity index 100%
rename from runtimes/google/ipc/benchmarks/glob/doc.go
rename to runtimes/google/ipc/benchmark/glob/doc.go
diff --git a/runtimes/google/ipc/benchmarks/glob/glob_test.go b/runtimes/google/ipc/benchmark/glob/glob_test.go
similarity index 100%
rename from runtimes/google/ipc/benchmarks/glob/glob_test.go
rename to runtimes/google/ipc/benchmark/glob/glob_test.go
diff --git a/runtimes/google/ipc/benchmarks/server.go b/runtimes/google/ipc/benchmark/server.go
similarity index 88%
rename from runtimes/google/ipc/benchmarks/server.go
rename to runtimes/google/ipc/benchmark/server.go
index 5e4ebdb..3a55f31 100644
--- a/runtimes/google/ipc/benchmarks/server.go
+++ b/runtimes/google/ipc/benchmark/server.go
@@ -1,7 +1,7 @@
-package benchmarks
+package benchmark
import (
- sflag "v.io/core/veyron/security/flag"
+ "v.io/core/veyron/security/flag"
"v.io/core/veyron2"
"v.io/core/veyron2/ipc"
@@ -41,7 +41,7 @@
vlog.Fatalf("Listen failed: %v", err)
}
- if err := server.Serve("", BenchmarkServer(&impl{}), sflag.NewAuthorizerOrDie()); err != nil {
+ if err := server.Serve("", BenchmarkServer(&impl{}), flag.NewAuthorizerOrDie()); err != nil {
vlog.Fatalf("Serve failed: %v", err)
}
return naming.JoinAddressName(eps[0].String(), ""), func() {
diff --git a/runtimes/google/ipc/benchmarks/service.vdl b/runtimes/google/ipc/benchmark/service.vdl
similarity index 95%
rename from runtimes/google/ipc/benchmarks/service.vdl
rename to runtimes/google/ipc/benchmark/service.vdl
index d6ac0e8..3f42b77 100644
--- a/runtimes/google/ipc/benchmarks/service.vdl
+++ b/runtimes/google/ipc/benchmark/service.vdl
@@ -1,6 +1,6 @@
// package benchmark provides simple tools to measure the performance of the
// IPC system.
-package benchmarks
+package benchmark
import (
"v.io/core/veyron2/services/security/access"
diff --git a/runtimes/google/ipc/benchmarks/service.vdl.go b/runtimes/google/ipc/benchmark/service.vdl.go
similarity index 99%
rename from runtimes/google/ipc/benchmarks/service.vdl.go
rename to runtimes/google/ipc/benchmark/service.vdl.go
index 6613195..a2485f8 100644
--- a/runtimes/google/ipc/benchmarks/service.vdl.go
+++ b/runtimes/google/ipc/benchmark/service.vdl.go
@@ -3,7 +3,7 @@
// package benchmark provides simple tools to measure the performance of the
// IPC system.
-package benchmarks
+package benchmark
import (
"v.io/core/veyron2/services/security/access"
@@ -268,7 +268,7 @@
// descBenchmark hides the desc to keep godoc clean.
var descBenchmark = __ipc.InterfaceDesc{
Name: "Benchmark",
- PkgPath: "v.io/core/veyron/runtimes/google/ipc/benchmarks",
+ PkgPath: "v.io/core/veyron/runtimes/google/ipc/benchmark",
Methods: []__ipc.MethodDesc{
{
Name: "Echo",
diff --git a/runtimes/google/ipc/benchmarks/README.txt b/runtimes/google/ipc/benchmarks/README.txt
deleted file mode 100644
index e2edd4f..0000000
--- a/runtimes/google/ipc/benchmarks/README.txt
+++ /dev/null
@@ -1,155 +0,0 @@
-This directory contains code uses to measure the performance of the Veyron 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.
-
-All these benchmarks create a VC before measurements begin. So, the VC creation
-overhead is excluded.
-
-$ veyron go test -test.bench=. -timeout=1h -test.cpu=1 -test.benchtime=5s \
- veyron/runtimes/google/ipc/benchmarks
-
-Benchmark____1B 2000 5144219 ns/op 0.00 MB/s
-Benchmark___10B 2000 5526448 ns/op 0.00 MB/s
-Benchmark___1KB 2000 4528221 ns/op 0.44 MB/s
-Benchmark_100KB 1000 7569096 ns/op 26.42 MB/s
-Benchmark____1_chunk_____1B 1000 8945290 ns/op 0.00 MB/s
-Benchmark____1_chunk____10B 1000 9711084 ns/op 0.00 MB/s
-Benchmark____1_chunk____1KB 1000 8541689 ns/op 0.23 MB/s
-Benchmark____1_chunk___10KB 1000 8972995 ns/op 2.23 MB/s
-Benchmark___10_chunks____1B 1000 13114807 ns/op 0.00 MB/s
-Benchmark___10_chunks___10B 1000 13219493 ns/op 0.02 MB/s
-Benchmark___10_chunks___1KB 1000 13292236 ns/op 1.50 MB/s
-Benchmark___10_chunks__10KB 500 15733197 ns/op 12.71 MB/s
-Benchmark__100_chunks____1B 500 45078939 ns/op 0.00 MB/s
-Benchmark__100_chunks___10B 200 49113585 ns/op 0.04 MB/s
-Benchmark__100_chunks___1KB 100 57982457 ns/op 3.45 MB/s
-Benchmark__100_chunks__10KB 100 81632487 ns/op 24.50 MB/s
-Benchmark__per_chunk____1B 50000 357880 ns/op 0.01 MB/s
-Benchmark__per_chunk___10B 20000 476941 ns/op 0.04 MB/s
-Benchmark__per_chunk___1KB 10000 806491 ns/op 2.48 MB/s
-Benchmark__per_chunk__10KB 10000 1185081 ns/op 16.88 MB/s
-Benchmark____1B_mux___10_chunks___10B 1000 20235386 ns/op 0.00 MB/s
-Benchmark____1B_mux___10_chunks___1KB 500 21346428 ns/op 0.00 MB/s
-Benchmark____1B_mux__100_chunks___10B 100 72942436 ns/op 0.00 MB/s
-Benchmark____1B_mux__100_chunks___1KB 100 81538481 ns/op 0.00 MB/s
-
-'Benchmark___1KB' shows that it takes an average of 4.528 ms to
-execute a simple Echo RPC with a 1 KB payload.
-
-'Benchmark___10_chunks___1KB' shows that a streaming RPC with the
-same payload (i.e. 10 chunks of 1 KB) takes about 13.292 ms on average.
-
-'Benchmark__per_chunk___1KB' shows that sending a stream of 1 KB chunks
-takes an average of 0.806 ms per chunk.
-
-'Benchmark____1B_mux___10_chunks___1KB' shows that it takes an average
-of 21.346 ms to execute a simple Echo RPC with a 1 B payload while streaming
-10 chunks of 1 KB payloads continuously in the same process.
-
-bm/main.go does the same benchmarks as ipc_test.go but with more varying
-configurations and optional histogram outputs.
-
-$ veyron go run veyron/runtimes/google/ipc/benchmarks/bm/main.go \
- -test.cpu=1,2 -test.benchtime=5s -histogram
-
-RESULTS.txt has the latest benchmark results with main.go
-
-================================================================================
-
-bmserver/main.go and bmclient/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.
-
-$ veyron go run veyron/runtimes/google/ipc/benchmarks/bmserver/main.go \
- -veyron.tcp.address=localhost:8888 -acl='{"In":{"...":"R"}}'
-
-(In a different shell)
-$ veyron go run veyron/runtimes/google/ipc/benchmarks/bmclient/main.go \
- -server=/localhost:8888 -iterations=100 -chunk_count=0 -payload_size=10
-iterations: 100 chunk_count: 0 payload_size: 10
-elapsed time: 619.75741ms
-Histogram (unit: ms)
-Count: 100 Min: 4 Max: 54 Avg: 5.65
-------------------------------------------------------------
-[ 4, 5) 42 42.0% 42.0% ####
-[ 5, 6) 32 32.0% 74.0% ###
-[ 6, 7) 8 8.0% 82.0% #
-[ 7, 9) 13 13.0% 95.0% #
-[ 9, 11) 3 3.0% 98.0%
-[ 11, 14) 1 1.0% 99.0%
-[ 14, 18) 0 0.0% 99.0%
-[ 18, 24) 0 0.0% 99.0%
-[ 24, 32) 0 0.0% 99.0%
-[ 32, 42) 0 0.0% 99.0%
-[ 42, 55) 1 1.0% 100.0%
-[ 55, 72) 0 0.0% 100.0%
-[ 72, 94) 0 0.0% 100.0%
-[ 94, 123) 0 0.0% 100.0%
-[123, 161) 0 0.0% 100.0%
-[161, 211) 0 0.0% 100.0%
-[211, 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.
-
-
-$ ./bmserver --address=localhost:8888 --acl='{"...":"A"}'
-
-$ ./bmclient --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/runtimes/google/ipc/benchmarks/RESULTS.txt b/runtimes/google/ipc/benchmarks/RESULTS.txt
deleted file mode 100644
index 979b2ac..0000000
--- a/runtimes/google/ipc/benchmarks/RESULTS.txt
+++ /dev/null
@@ -1,2140 +0,0 @@
-Date: 12/14/2014
-Platform: Intel(R) Xeon(R) CPU E5-2689 0 @ 2.60GHz, 66114888KB Memory
-
-$ veyron go run veyron/runtimes/google/ipc/benchmarks/bm/main.go \
- -test.cpu=1,2 -test.benchtime=5s -histogram
-
-Benchmark____1B 3000 2260153 ns/op 0.00 MB/s
-Benchmark____1B-2 3000 2362339 ns/op 0.00 MB/s
-Benchmark___10B 3000 2595581 ns/op 0.01 MB/s
-Benchmark___10B-2 3000 2372671 ns/op 0.01 MB/s
-Benchmark__100B 3000 2690733 ns/op 0.07 MB/s
-Benchmark__100B-2 3000 2419120 ns/op 0.08 MB/s
-Benchmark___1KB 3000 2498211 ns/op 0.80 MB/s
-Benchmark___1KB-2 3000 2244818 ns/op 0.89 MB/s
-Benchmark__10KB 3000 2740536 ns/op 7.30 MB/s
-Benchmark__10KB-2 3000 2394824 ns/op 8.35 MB/s
-Benchmark_100KB 2000 5581491 ns/op 35.83 MB/s
-Benchmark_100KB-2 2000 4127286 ns/op 48.46 MB/s
-
-Benchmark____1_chunk_____1B 3000 2744128 ns/op 0.00 MB/s
-Benchmark____1_chunk_____1B-2 3000 2347418 ns/op 0.00 MB/s
-Benchmark____1_chunk____10B 3000 2857309 ns/op 0.01 MB/s
-Benchmark____1_chunk____10B-2 3000 2363346 ns/op 0.01 MB/s
-Benchmark____1_chunk___100B 3000 2922993 ns/op 0.07 MB/s
-Benchmark____1_chunk___100B-2 3000 2558699 ns/op 0.08 MB/s
-Benchmark____1_chunk____1KB 3000 2646432 ns/op 0.76 MB/s
-Benchmark____1_chunk____1KB-2 3000 2400649 ns/op 0.83 MB/s
-Benchmark____1_chunk___10KB 3000 2954627 ns/op 6.77 MB/s
-Benchmark____1_chunk___10KB-2 3000 2546084 ns/op 7.86 MB/s
-Benchmark____1_chunk__100KB 2000 5517042 ns/op 36.25 MB/s
-Benchmark____1_chunk__100KB-2 2000 4157872 ns/op 48.10 MB/s
-Benchmark___10_chunks____1B 2000 4177247 ns/op 0.00 MB/s
-Benchmark___10_chunks____1B-2 2000 3432532 ns/op 0.01 MB/s
-Benchmark___10_chunks___10B 2000 4664935 ns/op 0.04 MB/s
-Benchmark___10_chunks___10B-2 2000 3548029 ns/op 0.06 MB/s
-Benchmark___10_chunks__100B 2000 4845710 ns/op 0.41 MB/s
-Benchmark___10_chunks__100B-2 2000 3658666 ns/op 0.55 MB/s
-Benchmark___10_chunks___1KB 2000 4971196 ns/op 4.02 MB/s
-Benchmark___10_chunks___1KB-2 2000 3662827 ns/op 5.46 MB/s
-Benchmark___10_chunks__10KB 1000 7533684 ns/op 26.55 MB/s
-Benchmark___10_chunks__10KB-2 2000 4922363 ns/op 40.63 MB/s
-Benchmark___10_chunks_100KB 200 31539312 ns/op 63.41 MB/s
-Benchmark___10_chunks_100KB-2 500 18574440 ns/op 107.67 MB/s
-Benchmark__100_chunks____1B 500 18036549 ns/op 0.01 MB/s
-Benchmark__100_chunks____1B-2 1000 12395699 ns/op 0.02 MB/s
-Benchmark__100_chunks___10B 300 20669375 ns/op 0.10 MB/s
-Benchmark__100_chunks___10B-2 500 12634978 ns/op 0.16 MB/s
-Benchmark__100_chunks__100B 300 23164692 ns/op 0.86 MB/s
-Benchmark__100_chunks__100B-2 500 13821225 ns/op 1.45 MB/s
-Benchmark__100_chunks___1KB 300 26071439 ns/op 7.67 MB/s
-Benchmark__100_chunks___1KB-2 500 15738134 ns/op 12.71 MB/s
-Benchmark__100_chunks__10KB 100 50248311 ns/op 39.80 MB/s
-Benchmark__100_chunks__10KB-2 300 28614761 ns/op 69.89 MB/s
-Benchmark__100_chunks_100KB 30 272889576 ns/op 73.29 MB/s
-Benchmark__100_chunks_100KB-2 50 149680912 ns/op 133.62 MB/s
-Benchmark___1K_chunks____1B 100 111621410 ns/op 0.02 MB/s
-Benchmark___1K_chunks____1B-2 100 103311101 ns/op 0.02 MB/s
-Benchmark___1K_chunks___10B 50 189580683 ns/op 0.11 MB/s
-Benchmark___1K_chunks___10B-2 100 107068429 ns/op 0.19 MB/s
-Benchmark___1K_chunks__100B 30 223128293 ns/op 0.90 MB/s
-Benchmark___1K_chunks__100B-2 50 125690815 ns/op 1.59 MB/s
-Benchmark___1K_chunks___1KB 30 251956982 ns/op 7.94 MB/s
-Benchmark___1K_chunks___1KB-2 50 144214400 ns/op 13.87 MB/s
-Benchmark___1K_chunks__10KB 20 474946063 ns/op 42.11 MB/s
-Benchmark___1K_chunks__10KB-2 30 267531367 ns/op 74.76 MB/s
-Benchmark___1K_chunks_100KB 2 2675372295 ns/op 74.76 MB/s
-Benchmark___1K_chunks_100KB-2 5 1421481350 ns/op 140.70 MB/s
-
-Benchmark__per_chunk____1B 50000 163939 ns/op 0.01 MB/s
-Benchmark__per_chunk____1B-2 50000 118409 ns/op 0.02 MB/s
-Benchmark__per_chunk___10B 20000 321908 ns/op 0.06 MB/s
-Benchmark__per_chunk___10B-2 50000 176818 ns/op 0.11 MB/s
-Benchmark__per_chunk__100B 20000 411514 ns/op 0.49 MB/s
-Benchmark__per_chunk__100B-2 30000 231565 ns/op 0.86 MB/s
-Benchmark__per_chunk___1KB 20000 423999 ns/op 4.72 MB/s
-Benchmark__per_chunk___1KB-2 30000 248721 ns/op 8.04 MB/s
-Benchmark__per_chunk__10KB 10000 631536 ns/op 31.67 MB/s
-Benchmark__per_chunk__10KB-2 20000 346868 ns/op 57.66 MB/s
-Benchmark__per_chunk_100KB 3000 2613430 ns/op 76.53 MB/s
-Benchmark__per_chunk_100KB-2 5000 1369809 ns/op 146.01 MB/s
-
-Benchmark___10B_mux__100_chunks___10B 500 18817141 ns/op 0.00 MB/s
-Benchmark___10B_mux__100_chunks___10B-2 1000 7104449 ns/op 0.00 MB/s
-Benchmark___10B_mux__100_chunks__100B 300 21167617 ns/op 0.00 MB/s
-Benchmark___10B_mux__100_chunks__100B-2 1000 8372251 ns/op 0.00 MB/s
-Benchmark___10B_mux__100_chunks___1KB 300 22817830 ns/op 0.00 MB/s
-Benchmark___10B_mux__100_chunks___1KB-2 1000 8831943 ns/op 0.00 MB/s
-Benchmark___10B_mux___1K_chunks___10B 100 123136622 ns/op 0.00 MB/s
-Benchmark___10B_mux___1K_chunks___10B-2 300 22274569 ns/op 0.00 MB/s
-Benchmark___10B_mux___1K_chunks__100B 100 143814971 ns/op 0.00 MB/s
-Benchmark___10B_mux___1K_chunks__100B-2 200 34125016 ns/op 0.00 MB/s
-Benchmark___10B_mux___1K_chunks___1KB 100 136987808 ns/op 0.00 MB/s
-Benchmark___10B_mux___1K_chunks___1KB-2 200 35831221 ns/op 0.00 MB/s
-Benchmark__100B_mux__100_chunks___10B 500 20748811 ns/op 0.01 MB/s
-Benchmark__100B_mux__100_chunks___10B-2 1000 7604070 ns/op 0.03 MB/s
-Benchmark__100B_mux__100_chunks__100B 300 21922577 ns/op 0.01 MB/s
-Benchmark__100B_mux__100_chunks__100B-2 1000 9164254 ns/op 0.02 MB/s
-Benchmark__100B_mux__100_chunks___1KB 300 23892634 ns/op 0.01 MB/s
-Benchmark__100B_mux__100_chunks___1KB-2 1000 9288578 ns/op 0.02 MB/s
-Benchmark__100B_mux___1K_chunks___10B 100 120357166 ns/op 0.00 MB/s
-Benchmark__100B_mux___1K_chunks___10B-2 300 23110788 ns/op 0.01 MB/s
-Benchmark__100B_mux___1K_chunks__100B 100 146211502 ns/op 0.00 MB/s
-Benchmark__100B_mux___1K_chunks__100B-2 200 36485527 ns/op 0.01 MB/s
-Benchmark__100B_mux___1K_chunks___1KB 100 145242261 ns/op 0.00 MB/s
-Benchmark__100B_mux___1K_chunks___1KB-2 200 37420006 ns/op 0.01 MB/s
-
-
-% The followings are the full output with histograms.
-
-================================================================================
-Echo RPC
-================================================================================
-Benchmark____1B 3000 2260153 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 3 Avg: 1.54
-------------------------------------------------------------
-[ 1, 2) 1754 58.5% 58.5% ######
-[ 2, 3) 864 28.8% 87.3% ###
-[ 3, 4) 382 12.7% 100.0% #
-[ 4, 5) 0 0.0% 100.0%
-[ 5, 6) 0 0.0% 100.0%
-[ 6, 7) 0 0.0% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 10) 0 0.0% 100.0%
-[ 10, 11) 0 0.0% 100.0%
-[ 11, 12) 0 0.0% 100.0%
-[ 12, 13) 0 0.0% 100.0%
-[ 13, 14) 0 0.0% 100.0%
-[ 14, 15) 0 0.0% 100.0%
-[ 15, 16) 0 0.0% 100.0%
-[ 16, 17) 0 0.0% 100.0%
-[ 17, inf) 0 0.0% 100.0%
-Benchmark____1B-2 3000 2362339 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 4 Avg: 1.98
-------------------------------------------------------------
-[ 1, 2) 608 20.3% 20.3% ##
-[ 2, 3) 1864 62.1% 82.4% ######
-[ 3, 4) 520 17.3% 99.7% ##
-[ 4, 5) 8 0.3% 100.0%
-[ 5, 6) 0 0.0% 100.0%
-[ 6, 7) 0 0.0% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 10) 0 0.0% 100.0%
-[ 10, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 15) 0 0.0% 100.0%
-[ 15, 17) 0 0.0% 100.0%
-[ 17, 19) 0 0.0% 100.0%
-[ 19, 21) 0 0.0% 100.0%
-[ 21, 23) 0 0.0% 100.0%
-[ 23, inf) 0 0.0% 100.0%
-Benchmark___10B 3000 2595581 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 2 Max: 5 Avg: 2.37
-------------------------------------------------------------
-[ 2, 3) 2459 82.0% 82.0% ########
-[ 3, 4) 45 1.5% 83.5%
-[ 4, 5) 437 14.6% 98.0% #
-[ 5, 6) 59 2.0% 100.0%
-[ 6, 7) 0 0.0% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 10) 0 0.0% 100.0%
-[ 10, 11) 0 0.0% 100.0%
-[ 11, 12) 0 0.0% 100.0%
-[ 12, 14) 0 0.0% 100.0%
-[ 14, 16) 0 0.0% 100.0%
-[ 16, 18) 0 0.0% 100.0%
-[ 18, 20) 0 0.0% 100.0%
-[ 20, 22) 0 0.0% 100.0%
-[ 22, 24) 0 0.0% 100.0%
-[ 24, inf) 0 0.0% 100.0%
-Benchmark___10B-2 3000 2372671 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 5 Avg: 1.93
-------------------------------------------------------------
-[ 1, 2) 866 28.9% 28.9% ###
-[ 2, 3) 1691 56.4% 85.2% ######
-[ 3, 4) 233 7.8% 93.0% #
-[ 4, 5) 201 6.7% 99.7% #
-[ 5, 6) 9 0.3% 100.0%
-[ 6, 7) 0 0.0% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 15) 0 0.0% 100.0%
-[ 15, 17) 0 0.0% 100.0%
-[ 17, 20) 0 0.0% 100.0%
-[ 20, 23) 0 0.0% 100.0%
-[ 23, 26) 0 0.0% 100.0%
-[ 26, 29) 0 0.0% 100.0%
-[ 29, inf) 0 0.0% 100.0%
-Benchmark__100B 3000 2690733 ns/op 0.07 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 2 Max: 7 Avg: 2.48
-------------------------------------------------------------
-[ 2, 3) 2544 84.8% 84.8% ########
-[ 3, 4) 82 2.7% 87.5%
-[ 4, 5) 0 0.0% 87.5%
-[ 5, 6) 146 4.9% 92.4%
-[ 6, 7) 226 7.5% 99.9% #
-[ 7, 8) 2 0.1% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 15) 0 0.0% 100.0%
-[ 15, 17) 0 0.0% 100.0%
-[ 17, 20) 0 0.0% 100.0%
-[ 20, 23) 0 0.0% 100.0%
-[ 23, 27) 0 0.0% 100.0%
-[ 27, 31) 0 0.0% 100.0%
-[ 31, 35) 0 0.0% 100.0%
-[ 35, inf) 0 0.0% 100.0%
-Benchmark__100B-2 3000 2419120 ns/op 0.08 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 6 Avg: 2.05
-------------------------------------------------------------
-[ 1, 2) 647 21.6% 21.6% ##
-[ 2, 3) 2027 67.6% 89.1% #######
-[ 3, 4) 1 0.0% 89.2%
-[ 4, 5) 184 6.1% 95.3% #
-[ 5, 6) 128 4.3% 99.6%
-[ 6, 7) 13 0.4% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 10) 0 0.0% 100.0%
-[ 10, 12) 0 0.0% 100.0%
-[ 12, 14) 0 0.0% 100.0%
-[ 14, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 22) 0 0.0% 100.0%
-[ 22, 26) 0 0.0% 100.0%
-[ 26, 30) 0 0.0% 100.0%
-[ 30, 34) 0 0.0% 100.0%
-[ 34, inf) 0 0.0% 100.0%
-Benchmark___1KB 3000 2498211 ns/op 0.80 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 10 Avg: 1.76
-------------------------------------------------------------
-[ 1, 2) 2191 73.0% 73.0% #######
-[ 2, 3) 449 15.0% 88.0% #
-[ 3, 4) 75 2.5% 90.5%
-[ 4, 5) 3 0.1% 90.6%
-[ 5, 6) 6 0.2% 90.8%
-[ 6, 8) 240 8.0% 98.8% #
-[ 8, 10) 35 1.2% 100.0%
-[ 10, 12) 1 0.0% 100.0%
-[ 12, 15) 0 0.0% 100.0%
-[ 15, 18) 0 0.0% 100.0%
-[ 18, 22) 0 0.0% 100.0%
-[ 22, 27) 0 0.0% 100.0%
-[ 27, 32) 0 0.0% 100.0%
-[ 32, 38) 0 0.0% 100.0%
-[ 38, 45) 0 0.0% 100.0%
-[ 45, 54) 0 0.0% 100.0%
-[ 54, inf) 0 0.0% 100.0%
-Benchmark___1KB-2 3000 2244818 ns/op 0.89 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 7 Avg: 1.62
-------------------------------------------------------------
-[ 1, 2) 1949 65.0% 65.0% ######
-[ 2, 3) 795 26.5% 91.5% ###
-[ 3, 4) 0 0.0% 91.5%
-[ 4, 5) 63 2.1% 93.6%
-[ 5, 6) 112 3.7% 97.3%
-[ 6, 7) 72 2.4% 99.7%
-[ 7, 9) 9 0.3% 100.0%
-[ 9, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 15) 0 0.0% 100.0%
-[ 15, 18) 0 0.0% 100.0%
-[ 18, 21) 0 0.0% 100.0%
-[ 21, 25) 0 0.0% 100.0%
-[ 25, 29) 0 0.0% 100.0%
-[ 29, 34) 0 0.0% 100.0%
-[ 34, 40) 0 0.0% 100.0%
-[ 40, inf) 0 0.0% 100.0%
-Benchmark__10KB 3000 2740536 ns/op 7.30 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 2 Max: 10 Avg: 2.62
-------------------------------------------------------------
-[ 2, 3) 2652 88.4% 88.4% #########
-[ 3, 4) 72 2.4% 90.8%
-[ 4, 5) 0 0.0% 90.8%
-[ 5, 6) 0 0.0% 90.8%
-[ 6, 7) 0 0.0% 90.8%
-[ 7, 9) 93 3.1% 93.9%
-[ 9, 11) 183 6.1% 100.0% #
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 23) 0 0.0% 100.0%
-[ 23, 27) 0 0.0% 100.0%
-[ 27, 32) 0 0.0% 100.0%
-[ 32, 38) 0 0.0% 100.0%
-[ 38, 44) 0 0.0% 100.0%
-[ 44, 52) 0 0.0% 100.0%
-[ 52, inf) 0 0.0% 100.0%
-Benchmark__10KB-2 3000 2394824 ns/op 8.35 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 8 Avg: 1.84
-------------------------------------------------------------
-[ 1, 2) 1531 51.0% 51.0% #####
-[ 2, 3) 1214 40.5% 91.5% ####
-[ 3, 4) 0 0.0% 91.5%
-[ 4, 5) 0 0.0% 91.5%
-[ 5, 6) 83 2.8% 94.3%
-[ 6, 7) 69 2.3% 96.6%
-[ 7, 9) 103 3.4% 100.0%
-[ 9, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 23) 0 0.0% 100.0%
-[ 23, 27) 0 0.0% 100.0%
-[ 27, 32) 0 0.0% 100.0%
-[ 32, 38) 0 0.0% 100.0%
-[ 38, 44) 0 0.0% 100.0%
-[ 44, inf) 0 0.0% 100.0%
-Benchmark_100KB 2000 5581491 ns/op 35.83 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 3 Max: 15 Avg: 4.93
-------------------------------------------------------------
-[ 3, 4) 1253 62.7% 62.7% ######
-[ 4, 5) 259 13.0% 75.6% #
-[ 5, 6) 124 6.2% 81.8% #
-[ 6, 7) 1 0.1% 81.9%
-[ 7, 8) 0 0.0% 81.9%
-[ 8, 10) 0 0.0% 81.9%
-[ 10, 12) 84 4.2% 86.1%
-[ 12, 15) 274 13.7% 99.8% #
-[ 15, 18) 5 0.2% 100.0%
-[ 18, 22) 0 0.0% 100.0%
-[ 22, 27) 0 0.0% 100.0%
-[ 27, 33) 0 0.0% 100.0%
-[ 33, 40) 0 0.0% 100.0%
-[ 40, 48) 0 0.0% 100.0%
-[ 48, 58) 0 0.0% 100.0%
-[ 58, 69) 0 0.0% 100.0%
-[ 69, inf) 0 0.0% 100.0%
-Benchmark_100KB-2 2000 4127286 ns/op 48.46 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 2 Max: 10 Avg: 3.78
-------------------------------------------------------------
-[ 2, 3) 373 18.7% 18.7% ##
-[ 3, 4) 1286 64.3% 83.0% ######
-[ 4, 5) 0 0.0% 83.0%
-[ 5, 6) 0 0.0% 83.0%
-[ 6, 7) 0 0.0% 83.0%
-[ 7, 9) 116 5.8% 88.8% #
-[ 9, 11) 225 11.2% 100.0% #
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 23) 0 0.0% 100.0%
-[ 23, 27) 0 0.0% 100.0%
-[ 27, 32) 0 0.0% 100.0%
-[ 32, 38) 0 0.0% 100.0%
-[ 38, 44) 0 0.0% 100.0%
-[ 44, 52) 0 0.0% 100.0%
-[ 52, inf) 0 0.0% 100.0%
-
-================================================================================
-Echo streaming RPC
-================================================================================
-Benchmark____1_chunk_____1B 3000 2744128 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 2 Max: 4 Avg: 2.31
-------------------------------------------------------------
-[ 2, 3) 2072 69.1% 69.1% #######
-[ 3, 4) 921 30.7% 99.8% ###
-[ 4, 5) 7 0.2% 100.0%
-[ 5, 6) 0 0.0% 100.0%
-[ 6, 7) 0 0.0% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 10) 0 0.0% 100.0%
-[ 10, 11) 0 0.0% 100.0%
-[ 11, 12) 0 0.0% 100.0%
-[ 12, 13) 0 0.0% 100.0%
-[ 13, 14) 0 0.0% 100.0%
-[ 14, 15) 0 0.0% 100.0%
-[ 15, 16) 0 0.0% 100.0%
-[ 16, 17) 0 0.0% 100.0%
-[ 17, 18) 0 0.0% 100.0%
-[ 18, inf) 0 0.0% 100.0%
-Benchmark____1_chunk_____1B-2 3000 2347418 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 4 Avg: 2.18
-------------------------------------------------------------
-[ 1, 2) 46 1.5% 1.5%
-[ 2, 3) 2381 79.4% 80.9% ########
-[ 3, 4) 567 18.9% 99.8% ##
-[ 4, 5) 6 0.2% 100.0%
-[ 5, 6) 0 0.0% 100.0%
-[ 6, 7) 0 0.0% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 10) 0 0.0% 100.0%
-[ 10, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 15) 0 0.0% 100.0%
-[ 15, 17) 0 0.0% 100.0%
-[ 17, 19) 0 0.0% 100.0%
-[ 19, 21) 0 0.0% 100.0%
-[ 21, 23) 0 0.0% 100.0%
-[ 23, inf) 0 0.0% 100.0%
-Benchmark____1_chunk____10B 3000 2857309 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 2 Max: 5 Avg: 2.45
-------------------------------------------------------------
-[ 2, 3) 2387 79.6% 79.6% ########
-[ 3, 4) 88 2.9% 82.5%
-[ 4, 5) 303 10.1% 92.6% #
-[ 5, 6) 222 7.4% 100.0% #
-[ 6, 7) 0 0.0% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 10) 0 0.0% 100.0%
-[ 10, 11) 0 0.0% 100.0%
-[ 11, 12) 0 0.0% 100.0%
-[ 12, 14) 0 0.0% 100.0%
-[ 14, 16) 0 0.0% 100.0%
-[ 16, 18) 0 0.0% 100.0%
-[ 18, 20) 0 0.0% 100.0%
-[ 20, 22) 0 0.0% 100.0%
-[ 22, 24) 0 0.0% 100.0%
-[ 24, inf) 0 0.0% 100.0%
-Benchmark____1_chunk____10B-2 3000 2363346 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 5 Avg: 2.18
-------------------------------------------------------------
-[ 1, 2) 32 1.1% 1.1%
-[ 2, 3) 2535 84.5% 85.6% ########
-[ 3, 4) 293 9.8% 95.3% #
-[ 4, 5) 139 4.6% 100.0%
-[ 5, 6) 1 0.0% 100.0%
-[ 6, 7) 0 0.0% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 15) 0 0.0% 100.0%
-[ 15, 17) 0 0.0% 100.0%
-[ 17, 20) 0 0.0% 100.0%
-[ 20, 23) 0 0.0% 100.0%
-[ 23, 26) 0 0.0% 100.0%
-[ 26, 29) 0 0.0% 100.0%
-[ 29, inf) 0 0.0% 100.0%
-Benchmark____1_chunk___100B 3000 2922993 ns/op 0.07 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 2 Max: 7 Avg: 2.50
-------------------------------------------------------------
-[ 2, 3) 2527 84.2% 84.2% ########
-[ 3, 4) 106 3.5% 87.8%
-[ 4, 5) 0 0.0% 87.8%
-[ 5, 6) 99 3.3% 91.1%
-[ 6, 7) 255 8.5% 99.6% #
-[ 7, 8) 13 0.4% 100.0%
-[ 8, 9) 0 0.0% 100.0%
-[ 9, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 15) 0 0.0% 100.0%
-[ 15, 17) 0 0.0% 100.0%
-[ 17, 20) 0 0.0% 100.0%
-[ 20, 23) 0 0.0% 100.0%
-[ 23, 27) 0 0.0% 100.0%
-[ 27, 31) 0 0.0% 100.0%
-[ 31, 35) 0 0.0% 100.0%
-[ 35, inf) 0 0.0% 100.0%
-Benchmark____1_chunk___100B-2 3000 2558699 ns/op 0.08 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 6 Avg: 2.28
-------------------------------------------------------------
-[ 1, 2) 5 0.2% 0.2%
-[ 2, 3) 2673 89.1% 89.3% #########
-[ 3, 4) 2 0.1% 89.3%
-[ 4, 5) 177 5.9% 95.2% #
-[ 5, 6) 96 3.2% 98.4%
-[ 6, 7) 47 1.6% 100.0%
-[ 7, 8) 0 0.0% 100.0%
-[ 8, 10) 0 0.0% 100.0%
-[ 10, 12) 0 0.0% 100.0%
-[ 12, 14) 0 0.0% 100.0%
-[ 14, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 22) 0 0.0% 100.0%
-[ 22, 26) 0 0.0% 100.0%
-[ 26, 30) 0 0.0% 100.0%
-[ 30, 34) 0 0.0% 100.0%
-[ 34, inf) 0 0.0% 100.0%
-Benchmark____1_chunk____1KB 3000 2646432 ns/op 0.76 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 2 Max: 10 Avg: 2.49
-------------------------------------------------------------
-[ 2, 3) 2647 88.2% 88.2% #########
-[ 3, 4) 71 2.4% 90.6%
-[ 4, 5) 4 0.1% 90.7%
-[ 5, 6) 0 0.0% 90.7%
-[ 6, 7) 67 2.2% 93.0%
-[ 7, 9) 209 7.0% 99.9% #
-[ 9, 11) 2 0.1% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 23) 0 0.0% 100.0%
-[ 23, 27) 0 0.0% 100.0%
-[ 27, 32) 0 0.0% 100.0%
-[ 32, 38) 0 0.0% 100.0%
-[ 38, 44) 0 0.0% 100.0%
-[ 44, 52) 0 0.0% 100.0%
-[ 52, inf) 0 0.0% 100.0%
-Benchmark____1_chunk____1KB-2 3000 2400649 ns/op 0.83 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 7 Avg: 2.01
-------------------------------------------------------------
-[ 1, 2) 864 28.8% 28.8% ###
-[ 2, 3) 1881 62.7% 91.5% ######
-[ 3, 4) 2 0.1% 91.6%
-[ 4, 5) 10 0.3% 91.9%
-[ 5, 6) 127 4.2% 96.1%
-[ 6, 7) 94 3.1% 99.3%
-[ 7, 9) 22 0.7% 100.0%
-[ 9, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 15) 0 0.0% 100.0%
-[ 15, 18) 0 0.0% 100.0%
-[ 18, 21) 0 0.0% 100.0%
-[ 21, 25) 0 0.0% 100.0%
-[ 25, 29) 0 0.0% 100.0%
-[ 29, 34) 0 0.0% 100.0%
-[ 34, 40) 0 0.0% 100.0%
-[ 40, inf) 0 0.0% 100.0%
-Benchmark____1_chunk___10KB 3000 2954627 ns/op 6.77 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 2 Max: 10 Avg: 2.65
-------------------------------------------------------------
-[ 2, 3) 2621 87.4% 87.4% #########
-[ 3, 4) 93 3.1% 90.5%
-[ 4, 5) 13 0.4% 90.9%
-[ 5, 6) 0 0.0% 90.9%
-[ 6, 7) 0 0.0% 90.9%
-[ 7, 9) 99 3.3% 94.2%
-[ 9, 11) 174 5.8% 100.0% #
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 23) 0 0.0% 100.0%
-[ 23, 27) 0 0.0% 100.0%
-[ 27, 32) 0 0.0% 100.0%
-[ 32, 38) 0 0.0% 100.0%
-[ 38, 44) 0 0.0% 100.0%
-[ 44, 52) 0 0.0% 100.0%
-[ 52, inf) 0 0.0% 100.0%
-Benchmark____1_chunk___10KB-2 3000 2546084 ns/op 7.86 MB/s
-Histogram (unit: ms)
-Count: 3000 Min: 1 Max: 8 Avg: 2.25
-------------------------------------------------------------
-[ 1, 2) 414 13.8% 13.8% #
-[ 2, 3) 2335 77.8% 91.6% ########
-[ 3, 4) 0 0.0% 91.6%
-[ 4, 5) 0 0.0% 91.6%
-[ 5, 6) 37 1.2% 92.9%
-[ 6, 7) 88 2.9% 95.8%
-[ 7, 9) 126 4.2% 100.0%
-[ 9, 11) 0 0.0% 100.0%
-[ 11, 13) 0 0.0% 100.0%
-[ 13, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 23) 0 0.0% 100.0%
-[ 23, 27) 0 0.0% 100.0%
-[ 27, 32) 0 0.0% 100.0%
-[ 32, 38) 0 0.0% 100.0%
-[ 38, 44) 0 0.0% 100.0%
-[ 44, inf) 0 0.0% 100.0%
-Benchmark____1_chunk__100KB 2000 5517042 ns/op 36.25 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 3 Max: 15 Avg: 4.82
-------------------------------------------------------------
-[ 3, 4) 1247 62.4% 62.4% ######
-[ 4, 5) 256 12.8% 75.2% #
-[ 5, 6) 146 7.3% 82.5% #
-[ 6, 7) 0 0.0% 82.5%
-[ 7, 8) 0 0.0% 82.5%
-[ 8, 10) 0 0.0% 82.5%
-[ 10, 12) 132 6.6% 89.1% #
-[ 12, 15) 217 10.9% 99.9% #
-[ 15, 18) 2 0.1% 100.0%
-[ 18, 22) 0 0.0% 100.0%
-[ 22, 27) 0 0.0% 100.0%
-[ 27, 33) 0 0.0% 100.0%
-[ 33, 40) 0 0.0% 100.0%
-[ 40, 48) 0 0.0% 100.0%
-[ 48, 58) 0 0.0% 100.0%
-[ 58, 69) 0 0.0% 100.0%
-[ 69, inf) 0 0.0% 100.0%
-Benchmark____1_chunk__100KB-2 2000 4157872 ns/op 48.10 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 2 Max: 11 Avg: 3.83
-------------------------------------------------------------
-[ 2, 3) 159 8.0% 8.0% #
-[ 3, 4) 1495 74.8% 82.7% #######
-[ 4, 5) 11 0.6% 83.2%
-[ 5, 6) 0 0.0% 83.2%
-[ 6, 7) 0 0.0% 83.2%
-[ 7, 9) 167 8.3% 91.6% #
-[ 9, 11) 166 8.3% 99.9% #
-[ 11, 13) 2 0.1% 100.0%
-[ 13, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 23) 0 0.0% 100.0%
-[ 23, 28) 0 0.0% 100.0%
-[ 28, 33) 0 0.0% 100.0%
-[ 33, 39) 0 0.0% 100.0%
-[ 39, 46) 0 0.0% 100.0%
-[ 46, 55) 0 0.0% 100.0%
-[ 55, inf) 0 0.0% 100.0%
-Benchmark___10_chunks____1B 2000 4177247 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 2 Max: 17 Avg: 3.75
-------------------------------------------------------------
-[ 2, 3) 49 2.5% 2.5%
-[ 3, 4) 1771 88.6% 91.0% #########
-[ 4, 5) 0 0.0% 91.0%
-[ 5, 6) 2 0.1% 91.1%
-[ 6, 8) 42 2.1% 93.2%
-[ 8, 10) 0 0.0% 93.2%
-[ 10, 12) 33 1.7% 94.9%
-[ 12, 15) 73 3.7% 98.5%
-[ 15, 19) 30 1.5% 100.0%
-[ 19, 24) 0 0.0% 100.0%
-[ 24, 30) 0 0.0% 100.0%
-[ 30, 37) 0 0.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, 81) 0 0.0% 100.0%
-[ 81, inf) 0 0.0% 100.0%
-Benchmark___10_chunks____1B-2 2000 3432532 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 2 Max: 12 Avg: 2.82
-------------------------------------------------------------
-[ 2, 3) 1276 63.8% 63.8% ######
-[ 3, 4) 541 27.1% 90.9% ###
-[ 4, 5) 45 2.2% 93.1%
-[ 5, 6) 0 0.0% 93.1%
-[ 6, 7) 0 0.0% 93.1%
-[ 7, 9) 41 2.1% 95.2%
-[ 9, 11) 68 3.4% 98.6%
-[ 11, 13) 29 1.5% 100.0%
-[ 13, 16) 0 0.0% 100.0%
-[ 16, 19) 0 0.0% 100.0%
-[ 19, 23) 0 0.0% 100.0%
-[ 23, 28) 0 0.0% 100.0%
-[ 28, 34) 0 0.0% 100.0%
-[ 34, 41) 0 0.0% 100.0%
-[ 41, 49) 0 0.0% 100.0%
-[ 49, 58) 0 0.0% 100.0%
-[ 58, inf) 0 0.0% 100.0%
-Benchmark___10_chunks___10B 2000 4664935 ns/op 0.04 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 3 Max: 19 Avg: 3.94
-------------------------------------------------------------
-[ 3, 4) 1739 87.0% 87.0% #########
-[ 4, 5) 94 4.7% 91.7%
-[ 5, 6) 0 0.0% 91.7%
-[ 6, 7) 9 0.5% 92.1%
-[ 7, 9) 26 1.3% 93.4%
-[ 9, 11) 0 0.0% 93.4%
-[ 11, 14) 33 1.7% 95.1%
-[ 14, 17) 63 3.2% 98.2%
-[ 17, 21) 36 1.8% 100.0%
-[ 21, 26) 0 0.0% 100.0%
-[ 26, 32) 0 0.0% 100.0%
-[ 32, 39) 0 0.0% 100.0%
-[ 39, 48) 0 0.0% 100.0%
-[ 48, 59) 0 0.0% 100.0%
-[ 59, 72) 0 0.0% 100.0%
-[ 72, 88) 0 0.0% 100.0%
-[ 88, inf) 0 0.0% 100.0%
-Benchmark___10_chunks___10B-2 2000 3548029 ns/op 0.06 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 2 Max: 14 Avg: 3.02
-------------------------------------------------------------
-[ 2, 3) 971 48.6% 48.6% #####
-[ 3, 4) 835 41.8% 90.3% ####
-[ 4, 5) 67 3.4% 93.7%
-[ 5, 6) 0 0.0% 93.7%
-[ 6, 7) 0 0.0% 93.7%
-[ 7, 9) 16 0.8% 94.5%
-[ 9, 11) 40 2.0% 96.5%
-[ 11, 14) 70 3.5% 100.0%
-[ 14, 17) 1 0.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, 47) 0 0.0% 100.0%
-[ 47, 57) 0 0.0% 100.0%
-[ 57, 68) 0 0.0% 100.0%
-[ 68, inf) 0 0.0% 100.0%
-Benchmark___10_chunks__100B 2000 4845710 ns/op 0.41 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 3 Max: 20 Avg: 4.09
-------------------------------------------------------------
-[ 3, 4) 1559 78.0% 78.0% ########
-[ 4, 5) 272 13.6% 91.6% #
-[ 5, 6) 1 0.1% 91.6%
-[ 6, 7) 0 0.0% 91.6%
-[ 7, 9) 43 2.1% 93.8%
-[ 9, 11) 1 0.1% 93.8%
-[ 11, 14) 0 0.0% 93.8%
-[ 14, 17) 44 2.2% 96.0%
-[ 17, 21) 80 4.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, 48) 0 0.0% 100.0%
-[ 48, 59) 0 0.0% 100.0%
-[ 59, 73) 0 0.0% 100.0%
-[ 73, 90) 0 0.0% 100.0%
-[ 90, inf) 0 0.0% 100.0%
-Benchmark___10_chunks__100B-2 2000 3658666 ns/op 0.55 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 2 Max: 14 Avg: 3.26
-------------------------------------------------------------
-[ 2, 3) 567 28.4% 28.4% ###
-[ 3, 4) 1240 62.0% 90.4% ######
-[ 4, 5) 68 3.4% 93.8%
-[ 5, 6) 5 0.2% 94.0%
-[ 6, 7) 0 0.0% 94.0%
-[ 7, 9) 0 0.0% 94.0%
-[ 9, 11) 50 2.5% 96.5%
-[ 11, 14) 62 3.1% 99.6%
-[ 14, 17) 8 0.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, 47) 0 0.0% 100.0%
-[ 47, 57) 0 0.0% 100.0%
-[ 57, 68) 0 0.0% 100.0%
-[ 68, inf) 0 0.0% 100.0%
-Benchmark___10_chunks___1KB 2000 4971196 ns/op 4.02 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 3 Max: 23 Avg: 4.37
-------------------------------------------------------------
-[ 3, 4) 1222 61.1% 61.1% ######
-[ 4, 5) 620 31.0% 92.1% ###
-[ 5, 6) 0 0.0% 92.1%
-[ 6, 7) 0 0.0% 92.1%
-[ 7, 9) 31 1.6% 93.7%
-[ 9, 11) 1 0.1% 93.7%
-[ 11, 14) 0 0.0% 93.7%
-[ 14, 18) 32 1.6% 95.3%
-[ 18, 22) 90 4.5% 99.8%
-[ 22, 28) 4 0.2% 100.0%
-[ 28, 35) 0 0.0% 100.0%
-[ 35, 43) 0 0.0% 100.0%
-[ 43, 53) 0 0.0% 100.0%
-[ 53, 66) 0 0.0% 100.0%
-[ 66, 82) 0 0.0% 100.0%
-[ 82, 101) 0 0.0% 100.0%
-[101, inf) 0 0.0% 100.0%
-Benchmark___10_chunks___1KB-2 2000 3662827 ns/op 5.46 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 2 Max: 15 Avg: 3.11
-------------------------------------------------------------
-[ 2, 3) 1012 50.6% 50.6% #####
-[ 3, 4) 794 39.7% 90.3% ####
-[ 4, 5) 67 3.4% 93.7%
-[ 5, 6) 4 0.2% 93.9%
-[ 6, 7) 0 0.0% 93.9%
-[ 7, 9) 0 0.0% 93.9%
-[ 9, 11) 25 1.2% 95.1%
-[ 11, 14) 53 2.7% 97.8%
-[ 14, 17) 45 2.2% 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, 48) 0 0.0% 100.0%
-[ 48, 58) 0 0.0% 100.0%
-[ 58, 70) 0 0.0% 100.0%
-[ 70, inf) 0 0.0% 100.0%
-Benchmark___10_chunks__10KB 1000 7533684 ns/op 26.55 MB/s
-Histogram (unit: ms)
-Count: 1000 Min: 5 Max: 26 Avg: 7.03
-------------------------------------------------------------
-[ 5, 6) 831 83.1% 83.1% ########
-[ 6, 7) 4 0.4% 83.5%
-[ 7, 8) 0 0.0% 83.5%
-[ 8, 9) 29 2.9% 86.4%
-[ 9, 11) 18 1.8% 88.2%
-[ 11, 13) 0 0.0% 88.2%
-[ 13, 16) 0 0.0% 88.2%
-[ 16, 20) 39 3.9% 92.1%
-[ 20, 25) 78 7.8% 99.9% #
-[ 25, 31) 1 0.1% 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, 88) 0 0.0% 100.0%
-[ 88, 108) 0 0.0% 100.0%
-[108, inf) 0 0.0% 100.0%
-Benchmark___10_chunks__10KB-2 2000 4922363 ns/op 40.63 MB/s
-Histogram (unit: ms)
-Count: 2000 Min: 3 Max: 18 Avg: 4.32
-------------------------------------------------------------
-[ 3, 4) 1573 78.7% 78.7% ########
-[ 4, 5) 146 7.3% 86.0% #
-[ 5, 6) 53 2.7% 88.6%
-[ 6, 7) 0 0.0% 88.6%
-[ 7, 9) 0 0.0% 88.6%
-[ 9, 11) 3 0.2% 88.8%
-[ 11, 13) 79 4.0% 92.7%
-[ 13, 16) 107 5.4% 98.1% #
-[ 16, 20) 39 2.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, 46) 0 0.0% 100.0%
-[ 46, 56) 0 0.0% 100.0%
-[ 56, 68) 0 0.0% 100.0%
-[ 68, 82) 0 0.0% 100.0%
-[ 82, inf) 0 0.0% 100.0%
-Benchmark___10_chunks_100KB 200 31539312 ns/op 63.41 MB/s
-Histogram (unit: ms)
-Count: 200 Min: 22 Max: 40 Avg: 30.91
-------------------------------------------------------------
-[ 22, 23) 1 0.5% 0.5%
-[ 23, 24) 1 0.5% 1.0%
-[ 24, 25) 69 34.5% 35.5% ###
-[ 25, 26) 22 11.0% 46.5% #
-[ 26, 28) 7 3.5% 50.0%
-[ 28, 30) 0 0.0% 50.0%
-[ 30, 33) 0 0.0% 50.0%
-[ 33, 36) 0 0.0% 50.0%
-[ 36, 40) 95 47.5% 97.5% #####
-[ 40, 45) 5 2.5% 100.0%
-[ 45, 51) 0 0.0% 100.0%
-[ 51, 59) 0 0.0% 100.0%
-[ 59, 69) 0 0.0% 100.0%
-[ 69, 81) 0 0.0% 100.0%
-[ 81, 95) 0 0.0% 100.0%
-[ 95, 112) 0 0.0% 100.0%
-[112, inf) 0 0.0% 100.0%
-Benchmark___10_chunks_100KB-2 500 18574440 ns/op 107.67 MB/s
-Histogram (unit: ms)
-Count: 500 Min: 12 Max: 27 Avg: 18.10
-------------------------------------------------------------
-[ 12, 13) 79 15.8% 15.8% ##
-[ 13, 14) 168 33.6% 49.4% ###
-[ 14, 15) 12 2.4% 51.8%
-[ 15, 16) 1 0.2% 52.0%
-[ 16, 18) 0 0.0% 52.0%
-[ 18, 20) 0 0.0% 52.0%
-[ 20, 22) 30 6.0% 58.0% #
-[ 22, 25) 94 18.8% 76.8% ##
-[ 25, 29) 116 23.2% 100.0% ##
-[ 29, 34) 0 0.0% 100.0%
-[ 34, 40) 0 0.0% 100.0%
-[ 40, 47) 0 0.0% 100.0%
-[ 47, 55) 0 0.0% 100.0%
-[ 55, 65) 0 0.0% 100.0%
-[ 65, 77) 0 0.0% 100.0%
-[ 77, 91) 0 0.0% 100.0%
-[ 91, inf) 0 0.0% 100.0%
-Benchmark__100_chunks____1B 500 18036549 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 500 Min: 14 Max: 41 Avg: 17.44
-------------------------------------------------------------
-[ 14, 15) 280 56.0% 56.0% ######
-[ 15, 16) 106 21.2% 77.2% ##
-[ 16, 17) 10 2.0% 79.2%
-[ 17, 18) 1 0.2% 79.4%
-[ 18, 20) 6 1.2% 80.6%
-[ 20, 23) 22 4.4% 85.0%
-[ 23, 26) 0 0.0% 85.0%
-[ 26, 30) 16 3.2% 88.2%
-[ 30, 35) 27 5.4% 93.6% #
-[ 35, 42) 32 6.4% 100.0% #
-[ 42, 51) 0 0.0% 100.0%
-[ 51, 62) 0 0.0% 100.0%
-[ 62, 75) 0 0.0% 100.0%
-[ 75, 92) 0 0.0% 100.0%
-[ 92, 113) 0 0.0% 100.0%
-[113, 140) 0 0.0% 100.0%
-[140, inf) 0 0.0% 100.0%
-Benchmark__100_chunks____1B-2 1000 12395699 ns/op 0.02 MB/s
-Histogram (unit: ms)
-Count: 1000 Min: 7 Max: 31 Avg: 11.90
-------------------------------------------------------------
-[ 7, 8) 26 2.6% 2.6%
-[ 8, 9) 14 1.4% 4.0%
-[ 9, 10) 171 17.1% 21.1% ##
-[ 10, 11) 528 52.8% 73.9% #####
-[ 11, 13) 71 7.1% 81.0% #
-[ 13, 15) 23 2.3% 83.3%
-[ 15, 18) 8 0.8% 84.1%
-[ 18, 22) 68 6.8% 90.9% #
-[ 22, 27) 89 8.9% 99.8% #
-[ 27, 33) 2 0.2% 100.0%
-[ 33, 41) 0 0.0% 100.0%
-[ 41, 51) 0 0.0% 100.0%
-[ 51, 63) 0 0.0% 100.0%
-[ 63, 78) 0 0.0% 100.0%
-[ 78, 97) 0 0.0% 100.0%
-[ 97, 121) 0 0.0% 100.0%
-[121, inf) 0 0.0% 100.0%
-Benchmark__100_chunks___10B 300 20669375 ns/op 0.10 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 17 Max: 39 Avg: 20.31
-------------------------------------------------------------
-[ 17, 18) 228 76.0% 76.0% ########
-[ 18, 19) 8 2.7% 78.7%
-[ 19, 20) 2 0.7% 79.3%
-[ 20, 21) 0 0.0% 79.3%
-[ 21, 23) 3 1.0% 80.3%
-[ 23, 25) 12 4.0% 84.3%
-[ 25, 28) 0 0.0% 84.3%
-[ 28, 32) 0 0.0% 84.3%
-[ 32, 37) 15 5.0% 89.3% #
-[ 37, 43) 32 10.7% 100.0% #
-[ 43, 50) 0 0.0% 100.0%
-[ 50, 59) 0 0.0% 100.0%
-[ 59, 70) 0 0.0% 100.0%
-[ 70, 84) 0 0.0% 100.0%
-[ 84, 101) 0 0.0% 100.0%
-[101, 122) 0 0.0% 100.0%
-[122, inf) 0 0.0% 100.0%
-Benchmark__100_chunks___10B-2 500 12634978 ns/op 0.16 MB/s
-Histogram (unit: ms)
-Count: 500 Min: 9 Max: 27 Avg: 12.11
-------------------------------------------------------------
-[ 9, 10) 69 13.8% 13.8% #
-[ 10, 11) 287 57.4% 71.2% ######
-[ 11, 12) 47 9.4% 80.6% #
-[ 12, 13) 10 2.0% 82.6%
-[ 13, 15) 8 1.6% 84.2%
-[ 15, 17) 0 0.0% 84.2%
-[ 17, 20) 5 1.0% 85.2%
-[ 20, 23) 28 5.6% 90.8% #
-[ 23, 27) 43 8.6% 99.4% #
-[ 27, 32) 3 0.6% 100.0%
-[ 32, 38) 0 0.0% 100.0%
-[ 38, 46) 0 0.0% 100.0%
-[ 46, 56) 0 0.0% 100.0%
-[ 56, 68) 0 0.0% 100.0%
-[ 68, 82) 0 0.0% 100.0%
-[ 82, 99) 0 0.0% 100.0%
-[ 99, inf) 0 0.0% 100.0%
-Benchmark__100_chunks__100B 300 23164692 ns/op 0.86 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 19 Max: 42 Avg: 22.72
-------------------------------------------------------------
-[ 19, 20) 209 69.7% 69.7% #######
-[ 20, 21) 17 5.7% 75.3% #
-[ 21, 22) 6 2.0% 77.3%
-[ 22, 23) 1 0.3% 77.7%
-[ 23, 25) 1 0.3% 78.0%
-[ 25, 27) 17 5.7% 83.7% #
-[ 27, 30) 0 0.0% 83.7%
-[ 30, 34) 0 0.0% 83.7%
-[ 34, 39) 19 6.3% 90.0% #
-[ 39, 45) 30 10.0% 100.0% #
-[ 45, 53) 0 0.0% 100.0%
-[ 53, 62) 0 0.0% 100.0%
-[ 62, 74) 0 0.0% 100.0%
-[ 74, 89) 0 0.0% 100.0%
-[ 89, 107) 0 0.0% 100.0%
-[107, 129) 0 0.0% 100.0%
-[129, inf) 0 0.0% 100.0%
-Benchmark__100_chunks__100B-2 500 13821225 ns/op 1.45 MB/s
-Histogram (unit: ms)
-Count: 500 Min: 10 Max: 29 Avg: 13.29
-------------------------------------------------------------
-[ 10, 11) 47 9.4% 9.4% #
-[ 11, 12) 307 61.4% 70.8% ######
-[ 12, 13) 46 9.2% 80.0% #
-[ 13, 14) 9 1.8% 81.8%
-[ 14, 16) 9 1.8% 83.6%
-[ 16, 18) 0 0.0% 83.6%
-[ 18, 21) 5 1.0% 84.6%
-[ 21, 24) 25 5.0% 89.6% #
-[ 24, 28) 49 9.8% 99.4% #
-[ 28, 33) 3 0.6% 100.0%
-[ 33, 40) 0 0.0% 100.0%
-[ 40, 48) 0 0.0% 100.0%
-[ 48, 58) 0 0.0% 100.0%
-[ 58, 70) 0 0.0% 100.0%
-[ 70, 85) 0 0.0% 100.0%
-[ 85, 103) 0 0.0% 100.0%
-[103, inf) 0 0.0% 100.0%
-Benchmark__100_chunks___1KB 300 26071439 ns/op 7.67 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 20 Max: 48 Avg: 25.72
-------------------------------------------------------------
-[ 20, 21) 1 0.3% 0.3%
-[ 21, 22) 195 65.0% 65.3% #######
-[ 22, 23) 13 4.3% 69.7%
-[ 23, 24) 5 1.7% 71.3%
-[ 24, 26) 0 0.0% 71.3%
-[ 26, 29) 23 7.7% 79.0% #
-[ 29, 32) 0 0.0% 79.0%
-[ 32, 36) 0 0.0% 79.0%
-[ 36, 41) 23 7.7% 86.7% #
-[ 41, 48) 39 13.0% 99.7% #
-[ 48, 57) 1 0.3% 100.0%
-[ 57, 68) 0 0.0% 100.0%
-[ 68, 82) 0 0.0% 100.0%
-[ 82, 99) 0 0.0% 100.0%
-[ 99, 121) 0 0.0% 100.0%
-[121, 148) 0 0.0% 100.0%
-[148, inf) 0 0.0% 100.0%
-Benchmark__100_chunks___1KB-2 500 15738134 ns/op 12.71 MB/s
-Histogram (unit: ms)
-Count: 500 Min: 11 Max: 30 Avg: 15.24
-------------------------------------------------------------
-[ 11, 12) 19 3.8% 3.8%
-[ 12, 13) 253 50.6% 54.4% #####
-[ 13, 14) 97 19.4% 73.8% ##
-[ 14, 15) 11 2.2% 76.0%
-[ 15, 17) 15 3.0% 79.0%
-[ 17, 19) 0 0.0% 79.0%
-[ 19, 22) 3 0.6% 79.6%
-[ 22, 25) 28 5.6% 85.2% #
-[ 25, 29) 61 12.2% 97.4% #
-[ 29, 34) 13 2.6% 100.0%
-[ 34, 41) 0 0.0% 100.0%
-[ 41, 49) 0 0.0% 100.0%
-[ 49, 59) 0 0.0% 100.0%
-[ 59, 71) 0 0.0% 100.0%
-[ 71, 86) 0 0.0% 100.0%
-[ 86, 104) 0 0.0% 100.0%
-[104, inf) 0 0.0% 100.0%
-Benchmark__100_chunks__10KB 100 50248311 ns/op 39.80 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 37 Max: 60 Avg: 49.72
-------------------------------------------------------------
-[ 37, 38) 4 4.0% 4.0%
-[ 38, 39) 7 7.0% 11.0% #
-[ 39, 40) 6 6.0% 17.0% #
-[ 40, 41) 5 5.0% 22.0% #
-[ 41, 43) 18 18.0% 40.0% ##
-[ 43, 45) 0 0.0% 40.0%
-[ 45, 48) 0 0.0% 40.0%
-[ 48, 52) 0 0.0% 40.0%
-[ 52, 57) 24 24.0% 64.0% ##
-[ 57, 63) 36 36.0% 100.0% ####
-[ 63, 71) 0 0.0% 100.0%
-[ 71, 80) 0 0.0% 100.0%
-[ 80, 92) 0 0.0% 100.0%
-[ 92, 107) 0 0.0% 100.0%
-[107, 125) 0 0.0% 100.0%
-[125, 147) 0 0.0% 100.0%
-[147, inf) 0 0.0% 100.0%
-Benchmark__100_chunks__10KB-2 300 28614761 ns/op 69.89 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 19 Max: 38 Avg: 28.11
-------------------------------------------------------------
-[ 19, 20) 7 2.3% 2.3%
-[ 20, 21) 55 18.3% 20.7% ##
-[ 21, 22) 43 14.3% 35.0% #
-[ 22, 23) 9 3.0% 38.0%
-[ 23, 25) 3 1.0% 39.0%
-[ 25, 27) 0 0.0% 39.0%
-[ 27, 30) 3 1.0% 40.0%
-[ 30, 33) 84 28.0% 68.0% ###
-[ 33, 37) 94 31.3% 99.3% ###
-[ 37, 42) 2 0.7% 100.0%
-[ 42, 49) 0 0.0% 100.0%
-[ 49, 57) 0 0.0% 100.0%
-[ 57, 67) 0 0.0% 100.0%
-[ 67, 79) 0 0.0% 100.0%
-[ 79, 94) 0 0.0% 100.0%
-[ 94, 112) 0 0.0% 100.0%
-[112, inf) 0 0.0% 100.0%
-Benchmark__100_chunks_100KB 30 272889576 ns/op 73.29 MB/s
-Histogram (unit: ms)
-Count: 30 Min: 267 Max: 292 Avg: 272.40
-------------------------------------------------------------
-[267, 268) 3 10.0% 10.0% #
-[268, 269) 8 26.7% 36.7% ###
-[269, 270) 4 13.3% 50.0% #
-[270, 271) 4 13.3% 63.3% #
-[271, 273) 4 13.3% 76.7% #
-[273, 275) 1 3.3% 80.0%
-[275, 278) 1 3.3% 83.3%
-[278, 282) 0 0.0% 83.3%
-[282, 287) 1 3.3% 86.7%
-[287, 293) 4 13.3% 100.0% #
-[293, 301) 0 0.0% 100.0%
-[301, 311) 0 0.0% 100.0%
-[311, 324) 0 0.0% 100.0%
-[324, 340) 0 0.0% 100.0%
-[340, 360) 0 0.0% 100.0%
-[360, 384) 0 0.0% 100.0%
-[384, inf) 0 0.0% 100.0%
-Benchmark__100_chunks_100KB-2 50 149680912 ns/op 133.62 MB/s
-Histogram (unit: ms)
-Count: 50 Min: 138 Max: 158 Avg: 149.14
-------------------------------------------------------------
-[138, 139) 2 4.0% 4.0%
-[139, 140) 0 0.0% 4.0%
-[140, 141) 0 0.0% 4.0%
-[141, 142) 2 4.0% 8.0%
-[142, 144) 4 8.0% 16.0% #
-[144, 146) 4 8.0% 24.0% #
-[146, 149) 6 12.0% 36.0% #
-[149, 153) 20 40.0% 76.0% ####
-[153, 157) 11 22.0% 98.0% ##
-[157, 163) 1 2.0% 100.0%
-[163, 170) 0 0.0% 100.0%
-[170, 178) 0 0.0% 100.0%
-[178, 188) 0 0.0% 100.0%
-[188, 201) 0 0.0% 100.0%
-[201, 217) 0 0.0% 100.0%
-[217, 236) 0 0.0% 100.0%
-[236, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks____1B 100 111621410 ns/op 0.02 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 93 Max: 120 Avg: 111.11
-------------------------------------------------------------
-[ 93, 94) 1 1.0% 1.0%
-[ 94, 95) 0 0.0% 1.0%
-[ 95, 96) 0 0.0% 1.0%
-[ 96, 97) 0 0.0% 1.0%
-[ 97, 99) 0 0.0% 1.0%
-[ 99, 102) 17 17.0% 18.0% ##
-[102, 105) 12 12.0% 30.0% #
-[105, 109) 1 1.0% 31.0%
-[109, 114) 6 6.0% 37.0% #
-[114, 121) 63 63.0% 100.0% ######
-[121, 130) 0 0.0% 100.0%
-[130, 141) 0 0.0% 100.0%
-[141, 154) 0 0.0% 100.0%
-[154, 171) 0 0.0% 100.0%
-[171, 192) 0 0.0% 100.0%
-[192, 219) 0 0.0% 100.0%
-[219, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks____1B-2 100 103311101 ns/op 0.02 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 62 Max: 168 Avg: 102.82
-------------------------------------------------------------
-[ 62, 63) 1 1.0% 1.0%
-[ 63, 64) 0 0.0% 1.0%
-[ 64, 65) 0 0.0% 1.0%
-[ 65, 67) 0 0.0% 1.0%
-[ 67, 70) 0 0.0% 1.0%
-[ 70, 74) 1 1.0% 2.0%
-[ 74, 80) 2 2.0% 4.0%
-[ 80, 88) 2 2.0% 6.0%
-[ 88, 100) 23 23.0% 29.0% ##
-[100, 116) 61 61.0% 90.0% ######
-[116, 138) 9 9.0% 99.0% #
-[138, 168) 0 0.0% 99.0%
-[168, 209) 1 1.0% 100.0%
-[209, 265) 0 0.0% 100.0%
-[265, 342) 0 0.0% 100.0%
-[342, 447) 0 0.0% 100.0%
-[447, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks___10B 50 189580683 ns/op 0.11 MB/s
-Histogram (unit: ms)
-Count: 50 Min: 181 Max: 210 Avg: 189.10
-------------------------------------------------------------
-[181, 182) 2 4.0% 4.0%
-[182, 183) 0 0.0% 4.0%
-[183, 184) 1 2.0% 6.0%
-[184, 185) 1 2.0% 8.0%
-[185, 187) 16 32.0% 40.0% ###
-[187, 190) 20 40.0% 80.0% ####
-[190, 193) 2 4.0% 84.0%
-[193, 197) 1 2.0% 86.0%
-[197, 203) 3 6.0% 92.0% #
-[203, 210) 3 6.0% 98.0% #
-[210, 219) 1 2.0% 100.0%
-[219, 230) 0 0.0% 100.0%
-[230, 244) 0 0.0% 100.0%
-[244, 262) 0 0.0% 100.0%
-[262, 285) 0 0.0% 100.0%
-[285, 313) 0 0.0% 100.0%
-[313, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks___10B-2 100 107068429 ns/op 0.19 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 98 Max: 124 Avg: 106.53
-------------------------------------------------------------
-[ 98, 99) 1 1.0% 1.0%
-[ 99, 100) 0 0.0% 1.0%
-[100, 101) 5 5.0% 6.0% #
-[101, 102) 12 12.0% 18.0% #
-[102, 104) 20 20.0% 38.0% ##
-[104, 106) 18 18.0% 56.0% ##
-[106, 109) 23 23.0% 79.0% ##
-[109, 113) 4 4.0% 83.0%
-[113, 118) 7 7.0% 90.0% #
-[118, 125) 10 10.0% 100.0% #
-[125, 133) 0 0.0% 100.0%
-[133, 143) 0 0.0% 100.0%
-[143, 156) 0 0.0% 100.0%
-[156, 172) 0 0.0% 100.0%
-[172, 192) 0 0.0% 100.0%
-[192, 217) 0 0.0% 100.0%
-[217, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks__100B 30 223128293 ns/op 0.90 MB/s
-Histogram (unit: ms)
-Count: 30 Min: 210 Max: 241 Avg: 222.53
-------------------------------------------------------------
-[210, 211) 1 3.3% 3.3%
-[211, 212) 0 0.0% 3.3%
-[212, 213) 0 0.0% 3.3%
-[213, 214) 0 0.0% 3.3%
-[214, 216) 2 6.7% 10.0% #
-[216, 219) 8 26.7% 36.7% ###
-[219, 222) 8 26.7% 63.3% ###
-[222, 226) 5 16.7% 80.0% ##
-[226, 232) 0 0.0% 80.0%
-[232, 239) 5 16.7% 96.7% ##
-[239, 248) 1 3.3% 100.0%
-[248, 260) 0 0.0% 100.0%
-[260, 275) 0 0.0% 100.0%
-[275, 294) 0 0.0% 100.0%
-[294, 318) 0 0.0% 100.0%
-[318, 348) 0 0.0% 100.0%
-[348, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks__100B-2 50 125690815 ns/op 1.59 MB/s
-Histogram (unit: ms)
-Count: 50 Min: 117 Max: 142 Avg: 125.22
-------------------------------------------------------------
-[117, 118) 4 8.0% 8.0% #
-[118, 119) 1 2.0% 10.0%
-[119, 120) 1 2.0% 12.0%
-[120, 121) 8 16.0% 28.0% ##
-[121, 123) 9 18.0% 46.0% ##
-[123, 125) 9 18.0% 64.0% ##
-[125, 128) 6 12.0% 76.0% #
-[128, 132) 2 4.0% 80.0%
-[132, 137) 5 10.0% 90.0% #
-[137, 143) 5 10.0% 100.0% #
-[143, 151) 0 0.0% 100.0%
-[151, 161) 0 0.0% 100.0%
-[161, 174) 0 0.0% 100.0%
-[174, 190) 0 0.0% 100.0%
-[190, 210) 0 0.0% 100.0%
-[210, 234) 0 0.0% 100.0%
-[234, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks___1KB 30 251956982 ns/op 7.94 MB/s
-Histogram (unit: ms)
-Count: 30 Min: 238 Max: 266 Avg: 251.50
-------------------------------------------------------------
-[238, 239) 1 3.3% 3.3%
-[239, 240) 0 0.0% 3.3%
-[240, 241) 1 3.3% 6.7%
-[241, 242) 0 0.0% 6.7%
-[242, 244) 3 10.0% 16.7% #
-[244, 247) 7 23.3% 40.0% ##
-[247, 250) 3 10.0% 50.0% #
-[250, 254) 3 10.0% 60.0% #
-[254, 259) 1 3.3% 63.3%
-[259, 266) 10 33.3% 96.7% ###
-[266, 275) 1 3.3% 100.0%
-[275, 286) 0 0.0% 100.0%
-[286, 300) 0 0.0% 100.0%
-[300, 317) 0 0.0% 100.0%
-[317, 339) 0 0.0% 100.0%
-[339, 366) 0 0.0% 100.0%
-[366, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks___1KB-2 50 144214400 ns/op 13.87 MB/s
-Histogram (unit: ms)
-Count: 50 Min: 130 Max: 158 Avg: 143.70
-------------------------------------------------------------
-[130, 131) 1 2.0% 2.0%
-[131, 132) 0 0.0% 2.0%
-[132, 133) 1 2.0% 4.0%
-[133, 134) 6 12.0% 16.0% #
-[134, 136) 6 12.0% 28.0% #
-[136, 139) 4 8.0% 36.0% #
-[139, 142) 6 12.0% 48.0% #
-[142, 146) 1 2.0% 50.0%
-[146, 151) 13 26.0% 76.0% ###
-[151, 158) 9 18.0% 94.0% ##
-[158, 167) 3 6.0% 100.0% #
-[167, 178) 0 0.0% 100.0%
-[178, 192) 0 0.0% 100.0%
-[192, 209) 0 0.0% 100.0%
-[209, 231) 0 0.0% 100.0%
-[231, 258) 0 0.0% 100.0%
-[258, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks__10KB 20 474946063 ns/op 42.11 MB/s
-Histogram (unit: ms)
-Count: 20 Min: 458 Max: 492 Avg: 474.60
-------------------------------------------------------------
-[458, 459) 1 5.0% 5.0% #
-[459, 460) 0 0.0% 5.0%
-[460, 461) 1 5.0% 10.0% #
-[461, 463) 3 15.0% 25.0% ##
-[463, 465) 1 5.0% 30.0% #
-[465, 468) 4 20.0% 50.0% ##
-[468, 472) 0 0.0% 50.0%
-[472, 477) 0 0.0% 50.0%
-[477, 483) 1 5.0% 55.0% #
-[483, 491) 8 40.0% 95.0% ####
-[491, 501) 1 5.0% 100.0% #
-[501, 514) 0 0.0% 100.0%
-[514, 530) 0 0.0% 100.0%
-[530, 551) 0 0.0% 100.0%
-[551, 577) 0 0.0% 100.0%
-[577, 610) 0 0.0% 100.0%
-[610, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks__10KB-2 30 267531367 ns/op 74.76 MB/s
-Histogram (unit: ms)
-Count: 30 Min: 250 Max: 294 Avg: 267.07
-------------------------------------------------------------
-[250, 251) 1 3.3% 3.3%
-[251, 252) 1 3.3% 6.7%
-[252, 253) 0 0.0% 6.7%
-[253, 255) 0 0.0% 6.7%
-[255, 257) 2 6.7% 13.3% #
-[257, 260) 2 6.7% 20.0% #
-[260, 264) 7 23.3% 43.3% ##
-[264, 269) 3 10.0% 53.3% #
-[269, 276) 8 26.7% 80.0% ###
-[276, 285) 5 16.7% 96.7% ##
-[285, 297) 1 3.3% 100.0%
-[297, 313) 0 0.0% 100.0%
-[313, 333) 0 0.0% 100.0%
-[333, 359) 0 0.0% 100.0%
-[359, 393) 0 0.0% 100.0%
-[393, 437) 0 0.0% 100.0%
-[437, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks_100KB 2 2675372295 ns/op 74.76 MB/s
-Histogram (unit: s)
-Count: 2 Min: 2 Max: 2 Avg: 2.00
-------------------------------------------------------------
-[ 2, 3) 2 100.0% 100.0% ##########
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, 3) 0 0.0% 100.0%
-[ 3, inf) 0 0.0% 100.0%
-Benchmark___1K_chunks_100KB-2 5 1421481350 ns/op 140.70 MB/s
-Histogram (unit: s)
-Count: 5 Min: 1 Max: 1 Avg: 1.00
-------------------------------------------------------------
-[ 1, 2) 5 100.0% 100.0% ##########
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, 2) 0 0.0% 100.0%
-[ 2, inf) 0 0.0% 100.0%
-
-================================================================================
-Echo streaming RPC (Per chunk)
-================================================================================
-Benchmark__per_chunk____1B 50000 163939 ns/op 0.01 MB/s
-Histogram (unit: s)
-Count: 1 Min: 8 Max: 8 Avg: 8.00
-------------------------------------------------------------
-[ 8, 9) 1 100.0% 100.0% ##########
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, inf) 0 0.0% 100.0%
-Benchmark__per_chunk____1B-2 50000 118409 ns/op 0.02 MB/s
-Histogram (unit: s)
-Count: 1 Min: 5 Max: 5 Avg: 5.00
-------------------------------------------------------------
-[ 5, 6) 1 100.0% 100.0% ##########
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, 6) 0 0.0% 100.0%
-[ 6, inf) 0 0.0% 100.0%
-Benchmark__per_chunk___10B 20000 321908 ns/op 0.06 MB/s
-Histogram (unit: s)
-Count: 1 Min: 6 Max: 6 Avg: 6.00
-------------------------------------------------------------
-[ 6, 7) 1 100.0% 100.0% ##########
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, inf) 0 0.0% 100.0%
-Benchmark__per_chunk___10B-2 50000 176818 ns/op 0.11 MB/s
-Histogram (unit: s)
-Count: 1 Min: 8 Max: 8 Avg: 8.00
-------------------------------------------------------------
-[ 8, 9) 1 100.0% 100.0% ##########
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, inf) 0 0.0% 100.0%
-Benchmark__per_chunk__100B 20000 411514 ns/op 0.49 MB/s
-Histogram (unit: s)
-Count: 1 Min: 8 Max: 8 Avg: 8.00
-------------------------------------------------------------
-[ 8, 9) 1 100.0% 100.0% ##########
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, inf) 0 0.0% 100.0%
-Benchmark__per_chunk__100B-2 30000 231565 ns/op 0.86 MB/s
-Histogram (unit: s)
-Count: 1 Min: 6 Max: 6 Avg: 6.00
-------------------------------------------------------------
-[ 6, 7) 1 100.0% 100.0% ##########
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, inf) 0 0.0% 100.0%
-Benchmark__per_chunk___1KB 20000 423999 ns/op 4.72 MB/s
-Histogram (unit: s)
-Count: 1 Min: 8 Max: 8 Avg: 8.00
-------------------------------------------------------------
-[ 8, 9) 1 100.0% 100.0% ##########
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, 9) 0 0.0% 100.0%
-[ 9, inf) 0 0.0% 100.0%
-Benchmark__per_chunk___1KB-2 30000 248721 ns/op 8.04 MB/s
-Histogram (unit: s)
-Count: 1 Min: 7 Max: 7 Avg: 7.00
-------------------------------------------------------------
-[ 7, 8) 1 100.0% 100.0% ##########
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, inf) 0 0.0% 100.0%
-Benchmark__per_chunk__10KB 10000 631536 ns/op 31.67 MB/s
-Histogram (unit: s)
-Count: 1 Min: 6 Max: 6 Avg: 6.00
-------------------------------------------------------------
-[ 6, 7) 1 100.0% 100.0% ##########
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, inf) 0 0.0% 100.0%
-Benchmark__per_chunk__10KB-2 20000 346868 ns/op 57.66 MB/s
-Histogram (unit: s)
-Count: 1 Min: 6 Max: 6 Avg: 6.00
-------------------------------------------------------------
-[ 6, 7) 1 100.0% 100.0% ##########
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, inf) 0 0.0% 100.0%
-Benchmark__per_chunk_100KB 3000 2613430 ns/op 76.53 MB/s
-Histogram (unit: s)
-Count: 1 Min: 7 Max: 7 Avg: 7.00
-------------------------------------------------------------
-[ 7, 8) 1 100.0% 100.0% ##########
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, 8) 0 0.0% 100.0%
-[ 8, inf) 0 0.0% 100.0%
-Benchmark__per_chunk_100KB-2 5000 1369809 ns/op 146.01 MB/s
-Histogram (unit: s)
-Count: 1 Min: 6 Max: 6 Avg: 6.00
-------------------------------------------------------------
-[ 6, 7) 1 100.0% 100.0% ##########
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, 7) 0 0.0% 100.0%
-[ 7, inf) 0 0.0% 100.0%
-
-================================================================================
-Echo RPC when multiplexing with Echo streaming RPC
-================================================================================
-Benchmark___10B_mux__100_chunks___10B 500 18817141 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 500 Min: 7 Max: 26 Avg: 18.28
-------------------------------------------------------------
-[ 7, 8) 41 8.2% 8.2% #
-[ 8, 9) 5 1.0% 9.2%
-[ 9, 10) 1 0.2% 9.4%
-[ 10, 11) 0 0.0% 9.4%
-[ 11, 13) 5 1.0% 10.4%
-[ 13, 15) 0 0.0% 10.4%
-[ 15, 18) 52 10.4% 20.8% #
-[ 18, 21) 329 65.8% 86.6% #######
-[ 21, 25) 66 13.2% 99.8% #
-[ 25, 30) 1 0.2% 100.0%
-[ 30, 37) 0 0.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, 100) 0 0.0% 100.0%
-[100, inf) 0 0.0% 100.0%
-Benchmark___10B_mux__100_chunks___10B-2 1000 7104449 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 1000 Min: 2 Max: 13 Avg: 6.62
-------------------------------------------------------------
-[ 2, 3) 89 8.9% 8.9% #
-[ 3, 4) 110 11.0% 19.9% #
-[ 4, 5) 108 10.8% 30.7% #
-[ 5, 6) 112 11.2% 41.9% #
-[ 6, 7) 77 7.7% 49.6% #
-[ 7, 9) 165 16.5% 66.1% ##
-[ 9, 11) 230 23.0% 89.1% ##
-[ 11, 14) 109 10.9% 100.0% #
-[ 14, 17) 0 0.0% 100.0%
-[ 17, 21) 0 0.0% 100.0%
-[ 21, 25) 0 0.0% 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, inf) 0 0.0% 100.0%
-Benchmark___10B_mux__100_chunks__100B 300 21167617 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 6 Max: 26 Avg: 20.68
-------------------------------------------------------------
-[ 6, 7) 13 4.3% 4.3%
-[ 7, 8) 7 2.3% 6.7%
-[ 8, 9) 9 3.0% 9.7%
-[ 9, 10) 0 0.0% 9.7%
-[ 10, 12) 0 0.0% 9.7%
-[ 12, 14) 0 0.0% 9.7%
-[ 14, 17) 0 0.0% 9.7%
-[ 17, 21) 29 9.7% 19.3% #
-[ 21, 25) 237 79.0% 98.3% ########
-[ 25, 31) 5 1.7% 100.0%
-[ 31, 38) 0 0.0% 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, 104) 0 0.0% 100.0%
-[104, inf) 0 0.0% 100.0%
-Benchmark___10B_mux__100_chunks__100B-2 1000 8372251 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 1000 Min: 2 Max: 15 Avg: 7.88
-------------------------------------------------------------
-[ 2, 3) 67 6.7% 6.7% #
-[ 3, 4) 62 6.2% 12.9% #
-[ 4, 5) 83 8.3% 21.2% #
-[ 5, 6) 85 8.5% 29.7% #
-[ 6, 7) 92 9.2% 38.9% #
-[ 7, 9) 150 15.0% 53.9% ##
-[ 9, 11) 144 14.4% 68.3% #
-[ 11, 14) 307 30.7% 99.0% ###
-[ 14, 17) 10 1.0% 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, 48) 0 0.0% 100.0%
-[ 48, 58) 0 0.0% 100.0%
-[ 58, 70) 0 0.0% 100.0%
-[ 70, inf) 0 0.0% 100.0%
-Benchmark___10B_mux__100_chunks___1KB 300 22817830 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 6 Max: 28 Avg: 22.30
-------------------------------------------------------------
-[ 6, 7) 15 5.0% 5.0% #
-[ 7, 8) 4 1.3% 6.3%
-[ 8, 9) 9 3.0% 9.3%
-[ 9, 10) 0 0.0% 9.3%
-[ 10, 12) 0 0.0% 9.3%
-[ 12, 14) 0 0.0% 9.3%
-[ 14, 17) 2 0.7% 10.0%
-[ 17, 21) 24 8.0% 18.0% #
-[ 21, 26) 207 69.0% 87.0% #######
-[ 26, 32) 39 13.0% 100.0% #
-[ 32, 39) 0 0.0% 100.0%
-[ 39, 48) 0 0.0% 100.0%
-[ 48, 59) 0 0.0% 100.0%
-[ 59, 73) 0 0.0% 100.0%
-[ 73, 90) 0 0.0% 100.0%
-[ 90, 111) 0 0.0% 100.0%
-[111, inf) 0 0.0% 100.0%
-Benchmark___10B_mux__100_chunks___1KB-2 1000 8831943 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 1000 Min: 1 Max: 17 Avg: 8.35
-------------------------------------------------------------
-[ 1, 2) 12 1.2% 1.2%
-[ 2, 3) 155 15.5% 16.7% ##
-[ 3, 4) 59 5.9% 22.6% #
-[ 4, 5) 48 4.8% 27.4%
-[ 5, 7) 134 13.4% 40.8% #
-[ 7, 9) 91 9.1% 49.9% #
-[ 9, 12) 132 13.2% 63.1% #
-[ 12, 15) 328 32.8% 95.9% ###
-[ 15, 19) 41 4.1% 100.0%
-[ 19, 24) 0 0.0% 100.0%
-[ 24, 30) 0 0.0% 100.0%
-[ 30, 37) 0 0.0% 100.0%
-[ 37, 46) 0 0.0% 100.0%
-[ 46, 57) 0 0.0% 100.0%
-[ 57, 70) 0 0.0% 100.0%
-[ 70, 86) 0 0.0% 100.0%
-[ 86, inf) 0 0.0% 100.0%
-Benchmark___10B_mux___1K_chunks___10B 100 123136622 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 5 Max: 173 Avg: 122.60
-------------------------------------------------------------
-[ 5, 6) 1 1.0% 1.0%
-[ 6, 7) 0 0.0% 1.0%
-[ 7, 8) 0 0.0% 1.0%
-[ 8, 10) 1 1.0% 2.0%
-[ 10, 13) 0 0.0% 2.0%
-[ 13, 18) 1 1.0% 3.0%
-[ 18, 25) 0 0.0% 3.0%
-[ 25, 35) 1 1.0% 4.0%
-[ 35, 50) 2 2.0% 6.0%
-[ 50, 71) 11 11.0% 17.0% #
-[ 71, 101) 22 22.0% 39.0% ##
-[101, 143) 14 14.0% 53.0% #
-[143, 203) 47 47.0% 100.0% #####
-[203, 287) 0 0.0% 100.0%
-[287, 406) 0 0.0% 100.0%
-[406, 574) 0 0.0% 100.0%
-[574, inf) 0 0.0% 100.0%
-Benchmark___10B_mux___1K_chunks___10B-2 300 22274569 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 2 Max: 96 Avg: 21.75
-------------------------------------------------------------
-[ 2, 3) 8 2.7% 2.7%
-[ 3, 4) 23 7.7% 10.3% #
-[ 4, 5) 31 10.3% 20.7% #
-[ 5, 7) 47 15.7% 36.3% ##
-[ 7, 10) 74 24.7% 61.0% ##
-[ 10, 14) 33 11.0% 72.0% #
-[ 14, 20) 12 4.0% 76.0%
-[ 20, 28) 7 2.3% 78.3%
-[ 28, 39) 1 0.3% 78.7%
-[ 39, 54) 4 1.3% 80.0%
-[ 54, 74) 20 6.7% 86.7% #
-[ 74, 101) 40 13.3% 100.0% #
-[101, 138) 0 0.0% 100.0%
-[138, 189) 0 0.0% 100.0%
-[189, 258) 0 0.0% 100.0%
-[258, 352) 0 0.0% 100.0%
-[352, inf) 0 0.0% 100.0%
-Benchmark___10B_mux___1K_chunks__100B 100 143814971 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 14 Max: 204 Avg: 143.32
-------------------------------------------------------------
-[ 14, 15) 1 1.0% 1.0%
-[ 15, 16) 0 0.0% 1.0%
-[ 16, 18) 0 0.0% 1.0%
-[ 18, 20) 0 0.0% 1.0%
-[ 20, 24) 0 0.0% 1.0%
-[ 24, 29) 0 0.0% 1.0%
-[ 29, 37) 0 0.0% 1.0%
-[ 37, 48) 0 0.0% 1.0%
-[ 48, 64) 11 11.0% 12.0% #
-[ 64, 87) 15 15.0% 27.0% ##
-[ 87, 120) 2 2.0% 29.0%
-[120, 166) 26 26.0% 55.0% ###
-[166, 232) 45 45.0% 100.0% #####
-[232, 326) 0 0.0% 100.0%
-[326, 459) 0 0.0% 100.0%
-[459, 649) 0 0.0% 100.0%
-[649, inf) 0 0.0% 100.0%
-Benchmark___10B_mux___1K_chunks__100B-2 200 34125016 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 200 Min: 2 Max: 114 Avg: 33.62
-------------------------------------------------------------
-[ 2, 3) 10 5.0% 5.0% #
-[ 3, 4) 6 3.0% 8.0%
-[ 4, 5) 10 5.0% 13.0% #
-[ 5, 7) 21 10.5% 23.5% #
-[ 7, 10) 26 13.0% 36.5% #
-[ 10, 14) 34 17.0% 53.5% ##
-[ 14, 20) 27 13.5% 67.0% #
-[ 20, 29) 7 3.5% 70.5%
-[ 29, 41) 1 0.5% 71.0%
-[ 41, 57) 2 1.0% 72.0%
-[ 57, 80) 7 3.5% 75.5%
-[ 80, 111) 45 22.5% 98.0% ##
-[111, 154) 4 2.0% 100.0%
-[154, 213) 0 0.0% 100.0%
-[213, 294) 0 0.0% 100.0%
-[294, 405) 0 0.0% 100.0%
-[405, inf) 0 0.0% 100.0%
-Benchmark___10B_mux___1K_chunks___1KB 100 136987808 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 5 Max: 233 Avg: 136.46
-------------------------------------------------------------
-[ 5, 6) 1 1.0% 1.0%
-[ 6, 7) 0 0.0% 1.0%
-[ 7, 9) 1 1.0% 2.0%
-[ 9, 11) 1 1.0% 3.0%
-[ 11, 15) 1 1.0% 4.0%
-[ 15, 21) 3 3.0% 7.0%
-[ 21, 29) 0 0.0% 7.0%
-[ 29, 41) 0 0.0% 7.0%
-[ 41, 59) 3 3.0% 10.0%
-[ 59, 84) 11 11.0% 21.0% #
-[ 84, 121) 24 24.0% 45.0% ##
-[121, 174) 25 25.0% 70.0% ###
-[174, 250) 30 30.0% 100.0% ###
-[250, 360) 0 0.0% 100.0%
-[360, 518) 0 0.0% 100.0%
-[518, 746) 0 0.0% 100.0%
-[746, inf) 0 0.0% 100.0%
-Benchmark___10B_mux___1K_chunks___1KB-2 200 35831221 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 200 Min: 2 Max: 123 Avg: 35.40
-------------------------------------------------------------
-[ 2, 3) 21 10.5% 10.5% #
-[ 3, 4) 12 6.0% 16.5% #
-[ 4, 5) 4 2.0% 18.5%
-[ 5, 7) 8 4.0% 22.5%
-[ 7, 10) 18 9.0% 31.5% #
-[ 10, 14) 21 10.5% 42.0% #
-[ 14, 20) 21 10.5% 52.5% #
-[ 20, 29) 7 3.5% 56.0%
-[ 29, 41) 11 5.5% 61.5% #
-[ 41, 58) 23 11.5% 73.0% #
-[ 58, 82) 28 14.0% 87.0% #
-[ 82, 115) 25 12.5% 99.5% #
-[115, 161) 1 0.5% 100.0%
-[161, 224) 0 0.0% 100.0%
-[224, 311) 0 0.0% 100.0%
-[311, 432) 0 0.0% 100.0%
-[432, inf) 0 0.0% 100.0%
-Benchmark__100B_mux__100_chunks___10B 500 20748811 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 500 Min: 6 Max: 27 Avg: 20.33
-------------------------------------------------------------
-[ 6, 7) 1 0.2% 0.2%
-[ 7, 8) 16 3.2% 3.4%
-[ 8, 9) 3 0.6% 4.0%
-[ 9, 10) 6 1.2% 5.2%
-[ 10, 12) 4 0.8% 6.0%
-[ 12, 14) 0 0.0% 6.0%
-[ 14, 17) 7 1.4% 7.4%
-[ 17, 21) 181 36.2% 43.6% ####
-[ 21, 26) 278 55.6% 99.2% ######
-[ 26, 32) 4 0.8% 100.0%
-[ 32, 39) 0 0.0% 100.0%
-[ 39, 48) 0 0.0% 100.0%
-[ 48, 59) 0 0.0% 100.0%
-[ 59, 72) 0 0.0% 100.0%
-[ 72, 89) 0 0.0% 100.0%
-[ 89, 109) 0 0.0% 100.0%
-[109, inf) 0 0.0% 100.0%
-Benchmark__100B_mux__100_chunks___10B-2 1000 7604070 ns/op 0.03 MB/s
-Histogram (unit: ms)
-Count: 1000 Min: 2 Max: 15 Avg: 7.10
-------------------------------------------------------------
-[ 2, 3) 49 4.9% 4.9%
-[ 3, 4) 90 9.0% 13.9% #
-[ 4, 5) 124 12.4% 26.3% #
-[ 5, 6) 117 11.7% 38.0% #
-[ 6, 7) 100 10.0% 48.0% #
-[ 7, 9) 185 18.5% 66.5% ##
-[ 9, 11) 169 16.9% 83.4% ##
-[ 11, 14) 141 14.1% 97.5% #
-[ 14, 17) 25 2.5% 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, 48) 0 0.0% 100.0%
-[ 48, 58) 0 0.0% 100.0%
-[ 58, 70) 0 0.0% 100.0%
-[ 70, inf) 0 0.0% 100.0%
-Benchmark__100B_mux__100_chunks__100B 300 21922577 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 6 Max: 30 Avg: 21.45
-------------------------------------------------------------
-[ 6, 7) 17 5.7% 5.7% #
-[ 7, 8) 2 0.7% 6.3%
-[ 8, 9) 4 1.3% 7.7%
-[ 9, 10) 0 0.0% 7.7%
-[ 10, 12) 9 3.0% 10.7%
-[ 12, 14) 2 0.7% 11.3%
-[ 14, 17) 1 0.3% 11.7%
-[ 17, 21) 26 8.7% 20.3% #
-[ 21, 26) 144 48.0% 68.3% #####
-[ 26, 32) 95 31.7% 100.0% ###
-[ 32, 40) 0 0.0% 100.0%
-[ 40, 50) 0 0.0% 100.0%
-[ 50, 62) 0 0.0% 100.0%
-[ 62, 77) 0 0.0% 100.0%
-[ 77, 96) 0 0.0% 100.0%
-[ 96, 120) 0 0.0% 100.0%
-[120, inf) 0 0.0% 100.0%
-Benchmark__100B_mux__100_chunks__100B-2 1000 9164254 ns/op 0.02 MB/s
-Histogram (unit: ms)
-Count: 1000 Min: 2 Max: 18 Avg: 8.66
-------------------------------------------------------------
-[ 2, 3) 35 3.5% 3.5%
-[ 3, 4) 44 4.4% 7.9%
-[ 4, 5) 78 7.8% 15.7% #
-[ 5, 6) 102 10.2% 25.9% #
-[ 6, 8) 168 16.8% 42.7% ##
-[ 8, 10) 155 15.5% 58.2% ##
-[ 10, 13) 236 23.6% 81.8% ##
-[ 13, 16) 137 13.7% 95.5% #
-[ 16, 20) 45 4.5% 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__100B_mux__100_chunks___1KB 300 23892634 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 6 Max: 31 Avg: 23.41
-------------------------------------------------------------
-[ 6, 7) 12 4.0% 4.0%
-[ 7, 8) 9 3.0% 7.0%
-[ 8, 9) 5 1.7% 8.7%
-[ 9, 10) 1 0.3% 9.0%
-[ 10, 12) 1 0.3% 9.3%
-[ 12, 14) 2 0.7% 10.0%
-[ 14, 17) 1 0.3% 10.3%
-[ 17, 21) 10 3.3% 13.7%
-[ 21, 26) 122 40.7% 54.3% ####
-[ 26, 32) 137 45.7% 100.0% #####
-[ 32, 40) 0 0.0% 100.0%
-[ 40, 50) 0 0.0% 100.0%
-[ 50, 63) 0 0.0% 100.0%
-[ 63, 79) 0 0.0% 100.0%
-[ 79, 99) 0 0.0% 100.0%
-[ 99, 123) 0 0.0% 100.0%
-[123, inf) 0 0.0% 100.0%
-Benchmark__100B_mux__100_chunks___1KB-2 1000 9288578 ns/op 0.02 MB/s
-Histogram (unit: ms)
-Count: 1000 Min: 1 Max: 19 Avg: 8.80
-------------------------------------------------------------
-[ 1, 2) 6 0.6% 0.6%
-[ 2, 3) 158 15.8% 16.4% ##
-[ 3, 4) 70 7.0% 23.4% #
-[ 4, 5) 54 5.4% 28.8% #
-[ 5, 7) 110 11.0% 39.8% #
-[ 7, 9) 83 8.3% 48.1% #
-[ 9, 12) 183 18.3% 66.4% ##
-[ 12, 15) 142 14.2% 80.6% #
-[ 15, 19) 193 19.3% 99.9% ##
-[ 19, 24) 1 0.1% 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__100B_mux___1K_chunks___10B 100 120357166 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 4 Max: 186 Avg: 119.88
-------------------------------------------------------------
-[ 4, 5) 1 1.0% 1.0%
-[ 5, 6) 0 0.0% 1.0%
-[ 6, 8) 0 0.0% 1.0%
-[ 8, 10) 0 0.0% 1.0%
-[ 10, 14) 0 0.0% 1.0%
-[ 14, 19) 1 1.0% 2.0%
-[ 19, 27) 0 0.0% 2.0%
-[ 27, 38) 0 0.0% 2.0%
-[ 38, 54) 3 3.0% 5.0%
-[ 54, 76) 22 22.0% 27.0% ##
-[ 76, 108) 16 16.0% 43.0% ##
-[108, 153) 18 18.0% 61.0% ##
-[153, 217) 39 39.0% 100.0% ####
-[217, 307) 0 0.0% 100.0%
-[307, 435) 0 0.0% 100.0%
-[435, 616) 0 0.0% 100.0%
-[616, inf) 0 0.0% 100.0%
-Benchmark__100B_mux___1K_chunks___10B-2 300 23110788 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 300 Min: 2 Max: 97 Avg: 22.60
-------------------------------------------------------------
-[ 2, 3) 7 2.3% 2.3%
-[ 3, 4) 26 8.7% 11.0% #
-[ 4, 5) 33 11.0% 22.0% #
-[ 5, 7) 45 15.0% 37.0% ##
-[ 7, 10) 46 15.3% 52.3% ##
-[ 10, 14) 48 16.0% 68.3% ##
-[ 14, 20) 19 6.3% 74.7% #
-[ 20, 28) 8 2.7% 77.3%
-[ 28, 39) 3 1.0% 78.3%
-[ 39, 54) 2 0.7% 79.0%
-[ 54, 74) 32 10.7% 89.7% #
-[ 74, 102) 31 10.3% 100.0% #
-[102, 140) 0 0.0% 100.0%
-[140, 191) 0 0.0% 100.0%
-[191, 261) 0 0.0% 100.0%
-[261, 355) 0 0.0% 100.0%
-[355, inf) 0 0.0% 100.0%
-Benchmark__100B_mux___1K_chunks__100B 100 146211502 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 11 Max: 220 Avg: 145.68
-------------------------------------------------------------
-[ 11, 12) 1 1.0% 1.0%
-[ 12, 13) 1 1.0% 2.0%
-[ 13, 15) 0 0.0% 2.0%
-[ 15, 17) 0 0.0% 2.0%
-[ 17, 21) 0 0.0% 2.0%
-[ 21, 26) 0 0.0% 2.0%
-[ 26, 34) 1 1.0% 3.0%
-[ 34, 46) 1 1.0% 4.0%
-[ 46, 63) 10 10.0% 14.0% #
-[ 63, 87) 12 12.0% 26.0% #
-[ 87, 122) 9 9.0% 35.0% #
-[122, 172) 19 19.0% 54.0% ##
-[172, 243) 46 46.0% 100.0% #####
-[243, 345) 0 0.0% 100.0%
-[345, 491) 0 0.0% 100.0%
-[491, 700) 0 0.0% 100.0%
-[700, inf) 0 0.0% 100.0%
-Benchmark__100B_mux___1K_chunks__100B-2 200 36485527 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 200 Min: 2 Max: 114 Avg: 36.01
-------------------------------------------------------------
-[ 2, 3) 12 6.0% 6.0% #
-[ 3, 4) 7 3.5% 9.5%
-[ 4, 5) 3 1.5% 11.0%
-[ 5, 7) 17 8.5% 19.5% #
-[ 7, 10) 28 14.0% 33.5% #
-[ 10, 14) 29 14.5% 48.0% #
-[ 14, 20) 25 12.5% 60.5% #
-[ 20, 29) 13 6.5% 67.0% #
-[ 29, 41) 5 2.5% 69.5%
-[ 41, 57) 0 0.0% 69.5%
-[ 57, 80) 6 3.0% 72.5%
-[ 80, 111) 53 26.5% 99.0% ###
-[111, 154) 2 1.0% 100.0%
-[154, 213) 0 0.0% 100.0%
-[213, 294) 0 0.0% 100.0%
-[294, 405) 0 0.0% 100.0%
-[405, inf) 0 0.0% 100.0%
-Benchmark__100B_mux___1K_chunks___1KB 100 145242261 ns/op 0.00 MB/s
-Histogram (unit: ms)
-Count: 100 Min: 7 Max: 235 Avg: 144.71
-------------------------------------------------------------
-[ 7, 8) 1 1.0% 1.0%
-[ 8, 9) 2 2.0% 3.0%
-[ 9, 11) 1 1.0% 4.0%
-[ 11, 13) 1 1.0% 5.0%
-[ 13, 17) 0 0.0% 5.0%
-[ 17, 23) 2 2.0% 7.0%
-[ 23, 31) 1 1.0% 8.0%
-[ 31, 43) 0 0.0% 8.0%
-[ 43, 61) 1 1.0% 9.0%
-[ 61, 86) 10 10.0% 19.0% #
-[ 86, 123) 24 24.0% 43.0% ##
-[123, 176) 24 24.0% 67.0% ##
-[176, 252) 33 33.0% 100.0% ###
-[252, 362) 0 0.0% 100.0%
-[362, 520) 0 0.0% 100.0%
-[520, 748) 0 0.0% 100.0%
-[748, inf) 0 0.0% 100.0%
-Benchmark__100B_mux___1K_chunks___1KB-2 200 37420006 ns/op 0.01 MB/s
-Histogram (unit: ms)
-Count: 200 Min: 2 Max: 125 Avg: 36.95
-------------------------------------------------------------
-[ 2, 3) 37 18.5% 18.5% ##
-[ 3, 4) 6 3.0% 21.5%
-[ 4, 5) 2 1.0% 22.5%
-[ 5, 7) 16 8.0% 30.5% #
-[ 7, 10) 8 4.0% 34.5%
-[ 10, 14) 16 8.0% 42.5% #
-[ 14, 20) 14 7.0% 49.5% #
-[ 20, 29) 12 6.0% 55.5% #
-[ 29, 42) 13 6.5% 62.0% #
-[ 42, 59) 20 10.0% 72.0% #
-[ 59, 83) 22 11.0% 83.0% #
-[ 83, 117) 30 15.0% 98.0% ##
-[117, 163) 4 2.0% 100.0%
-[163, 227) 0 0.0% 100.0%
-[227, 316) 0 0.0% 100.0%
-[316, 438) 0 0.0% 100.0%
-[438, inf) 0 0.0% 100.0%
diff --git a/runtimes/google/ipc/benchmarks/bm/main.go b/runtimes/google/ipc/benchmarks/bm/main.go
deleted file mode 100644
index 4a12cc0..0000000
--- a/runtimes/google/ipc/benchmarks/bm/main.go
+++ /dev/null
@@ -1,187 +0,0 @@
-// A simple command-line tool to run IPC benchmarks.
-package main
-
-import (
- "flag"
- "fmt"
- "os"
- "runtime"
- "strconv"
- "strings"
- "testing"
-
- "v.io/core/veyron/lib/testutil"
- "v.io/core/veyron/profiles"
- "v.io/core/veyron/runtimes/google/ipc/benchmarks"
-
- "v.io/core/veyron2"
- "v.io/core/veyron2/rt"
-)
-
-var (
- vrt veyron2.Runtime
- address string
-
- cpuList []int
-
- histogram = flag.Bool("histogram", false, "If ture, output histogram of the benchmark results.")
-)
-
-func runBenchmarkEcho() {
- payloadSizes := []int{1, 10, 100, 1000, 10000, 100000}
-
- for _, size := range payloadSizes {
- name := fmt.Sprintf("%sB", formatNum(size))
- runBenchmark(name, func(b *testing.B, stats *testutil.BenchStats) {
- benchmarks.CallEcho(b, vrt.NewContext(), address, b.N, size, stats)
- })
- }
-}
-
-func runBenchmarkEchoStream() {
- chunkCnts := []int{1, 10, 100, 1000}
- payloadSizes := []int{1, 10, 100, 1000, 10000, 100000}
-
- for _, cnt := range chunkCnts {
- for _, size := range payloadSizes {
- name := formatNum(cnt)
- if cnt == 1 {
- name += "_chunk_"
- } else {
- name += "_chunks"
- }
- name += fmt.Sprintf("%sB", formatNum(size))
- runBenchmark(name, func(b *testing.B, stats *testutil.BenchStats) {
- benchmarks.CallEchoStream(b, vrt.NewContext(), address, b.N, cnt, size, stats)
- })
- }
- }
-}
-
-func runBenchmarkEchoStreamPerChunk() {
- payloadSizes := []int{1, 10, 100, 1000, 10000, 100000}
-
- for _, size := range payloadSizes {
- name := fmt.Sprintf("__per_chunk%sB", formatNum(size))
- runBenchmark(name, func(b *testing.B, stats *testutil.BenchStats) {
- benchmarks.CallEchoStream(b, vrt.NewContext(), address, 1, b.N, size, stats)
- })
- }
-}
-
-func runBenchmarkMux() {
- payloadSizes := []int{10, 100}
-
- chunkCntsB := []int{100, 1000}
- payloadSizesB := []int{10, 100, 1000}
-
- for _, size := range payloadSizes {
- for _, cntB := range chunkCntsB {
- for _, sizeB := range payloadSizesB {
- name := fmt.Sprintf("%sB_mux%s", formatNum(size), formatNum(cntB))
- if cntB == 1 {
- name += "_chunk_"
- } else {
- name += "_chunks"
- }
- name += fmt.Sprintf("%sB", formatNum(sizeB))
- runBenchmark(name, func(b *testing.B, stats *testutil.BenchStats) {
- dummyB := testing.B{}
- _, stop := benchmarks.StartEchoStream(&dummyB, vrt.NewContext(), address, 0, cntB, sizeB, nil)
-
- b.ResetTimer()
- benchmarks.CallEcho(b, vrt.NewContext(), address, b.N, size, stats)
- b.StopTimer()
-
- stop()
- })
- }
- }
- }
-}
-
-// runBenchmark runs a single bencmark function 'f'.
-func runBenchmark(name string, f func(*testing.B, *testutil.BenchStats)) {
- for _, cpu := range cpuList {
- runtime.GOMAXPROCS(cpu)
-
- benchName := "Benchmark" + name
- if cpu != 1 {
- benchName += fmt.Sprintf("-%d", cpu)
- }
-
- var stats *testutil.BenchStats
- if *histogram {
- stats = testutil.NewBenchStats(16)
- }
-
- r := testing.Benchmark(func(b *testing.B) {
- f(b, stats)
- })
-
- fmt.Printf("%s\t%s\n", benchName, r)
- if stats != nil {
- stats.Print(os.Stdout)
- }
- }
-}
-
-// formatNum formats the given number n with an optional metric prefix
-// and padding with underscores if necessary.
-func formatNum(n int) string {
- value := float32(n)
- var prefix string
- for _, p := range []string{"", "K", "M", "G", "T"} {
- if value < 1000 {
- prefix = p
- break
- }
- value /= 1000
- }
-
- return strings.Replace(fmt.Sprintf("%*.0f%s", 5-len(prefix), value, prefix), " ", "_", -1)
-}
-
-// parseCpuList looks up the existing '-test.cpu' flag value and parses it into
-// the list of cpus.
-func parseCpuList() {
- for _, v := range strings.Split(flag.Lookup("test.cpu").Value.String(), ",") {
- v = strings.TrimSpace(v)
- if v == "" {
- continue
- }
- cpu, err := strconv.Atoi(v)
- if err != nil || cpu <= 0 {
- fmt.Fprintf(os.Stderr, "invalid -test.cpu %q\n", v)
- os.Exit(1)
- }
- cpuList = append(cpuList, cpu)
- }
- if cpuList == nil {
- cpuList = append(cpuList, runtime.GOMAXPROCS(-1))
- }
-}
-
-func main() {
- flag.Parse()
- parseCpuList()
-
- var err error
- vrt, err = rt.New()
- if err != nil {
- panic(err)
- }
- defer vrt.Cleanup()
-
- var stop func()
- address, stop = benchmarks.StartServer(vrt, profiles.LocalListenSpec)
-
- benchmarks.CallEcho(&testing.B{}, vrt.NewContext(), address, 1, 0, nil) // Create VC.
-
- runBenchmarkEcho()
- runBenchmarkEchoStream()
- runBenchmarkEchoStreamPerChunk()
- runBenchmarkMux()
-
- stop()
-}
diff --git a/runtimes/google/ipc/benchmarks/ipc_test.go b/runtimes/google/ipc/benchmarks/ipc_test.go
deleted file mode 100644
index b4455b3..0000000
--- a/runtimes/google/ipc/benchmarks/ipc_test.go
+++ /dev/null
@@ -1,141 +0,0 @@
-package benchmarks_test
-
-import (
- "testing"
-
- "v.io/core/veyron/profiles"
- "v.io/core/veyron/runtimes/google/ipc/benchmarks"
-
- "v.io/core/veyron2"
- "v.io/core/veyron2/rt"
-)
-
-var vrt veyron2.Runtime
-var address string
-
-func init() {
- var err error
- vrt, err = rt.New()
- if err != nil {
- panic(err)
- }
-
- address, _ = benchmarks.StartServer(vrt, profiles.LocalListenSpec)
-}
-
-func runBenchmarkEcho(b *testing.B, payloadSize int) {
- benchmarks.CallEcho(&testing.B{}, vrt.NewContext(), address, 1, 0, nil) // Create VC.
- benchmarks.CallEcho(b, vrt.NewContext(), address, b.N, payloadSize, nil)
-}
-
-func runBenchmarkEchoStream(b *testing.B, iterations, chunkCnt, payloadSize int) {
- benchmarks.CallEcho(&testing.B{}, vrt.NewContext(), address, 1, 0, nil) // Create VC.
- benchmarks.CallEchoStream(b, vrt.NewContext(), address, iterations, chunkCnt, payloadSize, nil)
-}
-
-func runBenchmarkMux(b *testing.B, payloadSize, chunkCntB, payloadSizeB int) {
- benchmarks.CallEcho(&testing.B{}, vrt.NewContext(), address, 1, 0, nil) // Create VC.
- _, stop := benchmarks.StartEchoStream(&testing.B{}, vrt.NewContext(), address, 0, chunkCntB, payloadSizeB, nil)
- benchmarks.CallEcho(b, vrt.NewContext(), address, b.N, payloadSize, nil)
- stop()
-}
-
-// Benchmarks for non-streaming RPC.
-func Benchmark____1B(b *testing.B) {
- runBenchmarkEcho(b, 1)
-}
-
-func Benchmark___10B(b *testing.B) {
- runBenchmarkEcho(b, 10)
-}
-
-func Benchmark___1KB(b *testing.B) {
- runBenchmarkEcho(b, 1000)
-}
-
-func Benchmark_100KB(b *testing.B) {
- runBenchmarkEcho(b, 100000)
-}
-
-// Benchmarks for streaming RPC.
-func Benchmark____1_chunk_____1B(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 1, 1)
-}
-
-func Benchmark____1_chunk____10B(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 1, 10)
-}
-
-func Benchmark____1_chunk____1KB(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 1, 1000)
-}
-
-func Benchmark____1_chunk___10KB(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 1, 10000)
-}
-
-func Benchmark___10_chunks____1B(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 10, 1)
-}
-
-func Benchmark___10_chunks___10B(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 10, 10)
-}
-
-func Benchmark___10_chunks___1KB(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 10, 1000)
-}
-
-func Benchmark___10_chunks__10KB(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 10, 10000)
-}
-
-func Benchmark__100_chunks____1B(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 100, 1)
-}
-
-func Benchmark__100_chunks___10B(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 100, 10)
-}
-
-func Benchmark__100_chunks___1KB(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 100, 1000)
-}
-
-func Benchmark__100_chunks__10KB(b *testing.B) {
- runBenchmarkEchoStream(b, b.N, 100, 10000)
-}
-
-// Benchmarks for per-chunk throughput in streaming RPC.
-func Benchmark__per_chunk____1B(b *testing.B) {
- runBenchmarkEchoStream(b, 1, b.N, 1)
-}
-
-func Benchmark__per_chunk___10B(b *testing.B) {
- runBenchmarkEchoStream(b, 1, b.N, 10)
-}
-
-func Benchmark__per_chunk___1KB(b *testing.B) {
- runBenchmarkEchoStream(b, 1, b.N, 1000)
-}
-
-func Benchmark__per_chunk__10KB(b *testing.B) {
- runBenchmarkEchoStream(b, 1, b.N, 10000)
-}
-
-// Benchmarks for non-streaming RPC while running streaming RPC in background.
-func Benchmark____1B_mux___10_chunks___10B(b *testing.B) {
- runBenchmarkMux(b, 1, 10, 10)
-}
-
-func Benchmark____1B_mux___10_chunks___1KB(b *testing.B) {
- runBenchmarkMux(b, 1, 10, 1000)
-}
-
-func Benchmark____1B_mux__100_chunks___10B(b *testing.B) {
- runBenchmarkMux(b, 1, 100, 10)
-}
-
-func Benchmark____1B_mux__100_chunks___1KB(b *testing.B) {
- runBenchmarkMux(b, 1, 100, 1000)
-}
diff --git a/runtimes/google/ipc/stream/benchmark/RESULTS.txt b/runtimes/google/ipc/stream/benchmark/RESULTS.txt
index 826e4de..b60e4ed 100644
--- a/runtimes/google/ipc/stream/benchmark/RESULTS.txt
+++ b/runtimes/google/ipc/stream/benchmark/RESULTS.txt
@@ -1,96 +1,72 @@
-Date: 12/14/2014
+Date: 01/06/2015
Platform: Intel(R) Xeon(R) CPU E5-2689 0 @ 2.60GHz, 66114888KB Memory
-$ veyron go test -test.bench=. -test.cpu=1 -test.benchtime=5s \
+$ v23 go test -bench=. -cpu=1 -benchtime=5s \
v.io/core/veyron/runtimes/google/ipc/stream/benchmark
-Benchmark_throughput_TCP_1Conn 1000000 9874 ns/op 5184.85 MB/s
-Benchmark_throughput_TCP_2Conns 1000000 9815 ns/op 5216.01 MB/s
-Benchmark_throughput_TCP_4Conns 1000000 10088 ns/op 5074.94 MB/s
-Benchmark_throughput_TCP_8Conns 500000 12228 ns/op 4186.82 MB/s
-Benchmark_throughput_Pipe_1Conn 500000 24337 ns/op 2103.72 MB/s
-Benchmark_throughput_Pipe_2Conns 500000 28723 ns/op 1782.52 MB/s
-Benchmark_throughput_Pipe_4Conns 500000 28823 ns/op 1776.32 MB/s
-Benchmark_throughput_Pipe_8Conns 500000 27081 ns/op 1890.57 MB/s
-Benchmark_throughput_Flow_1VIF_1VC_1Flow 200000 31567 ns/op 1621.93 MB/s
-Benchmark_throughput_Flow_1VIF_1VC_2Flow 200000 31626 ns/op 1618.90 MB/s
-Benchmark_throughput_Flow_1VIF_1VC_8Flow 200000 36366 ns/op 1407.88 MB/s
-Benchmark_throughput_Flow_1VIF_2VC_2Flow 200000 32417 ns/op 1579.41 MB/s
-Benchmark_throughput_Flow_1VIF_2VC_8Flow 200000 35595 ns/op 1438.37 MB/s
-Benchmark_throughput_Flow_2VIF_4VC_8Flow 200000 38216 ns/op 1339.73 MB/s
-Benchmark_throughput_TLS_1Conn 20000 426727 ns/op 119.98 MB/s
-Benchmark_throughput_TLS_2Conns 20000 419540 ns/op 122.04 MB/s
-Benchmark_throughput_TLS_4Conns 20000 428137 ns/op 119.59 MB/s
-Benchmark_throughput_TLS_8Conns 20000 426041 ns/op 120.18 MB/s
-Benchmark_throughput_Flow_1VIF_1VC_1FlowTLS 20000 470284 ns/op 108.87 MB/s
-Benchmark_throughput_Flow_1VIF_1VC_2FlowTLS 20000 473181 ns/op 108.20 MB/s
-Benchmark_throughput_Flow_1VIF_1VC_8FlowTLS 20000 482533 ns/op 106.11 MB/s
-Benchmark_throughput_Flow_1VIF_2VC_2FlowTLS 20000 472181 ns/op 108.43 MB/s
-Benchmark_throughput_Flow_1VIF_2VC_8FlowTLS 20000 480154 ns/op 106.63 MB/s
-Benchmark_throughput_Flow_2VIF_4VC_8FlowTLS 20000 481803 ns/op 106.27 MB/s
-
-Benchmark_dial_VIF 500000 15965 ns/op
-Histogram (unit: µs)
-Count: 500000 Min: 4 Max: 19523 Avg: 15.31
-------------------------------------------------------------
-[ 4, 5) 9404 1.9% 1.9%
-[ 5, 6) 320133 64.0% 65.9% ######
-[ 6, 9) 157038 31.4% 97.3% ###
-[ 9, 16) 8766 1.8% 99.1%
-[ 16, 29) 3348 0.7% 99.7%
-[ 29, 55) 134 0.0% 99.8%
-[ 55, 107) 50 0.0% 99.8%
-[ 107, 207) 7 0.0% 99.8%
-[ 207, 401) 0 0.0% 99.8%
-[ 401, 776) 1 0.0% 99.8%
-[ 776, 1500) 120 0.0% 99.8%
-[ 1500, 2900) 138 0.0% 99.8%
-[ 2900, 5606) 681 0.1% 100.0%
-[ 5606, 10834) 167 0.0% 100.0%
-[10834, 20936) 13 0.0% 100.0%
-[20936, 40454) 0 0.0% 100.0%
-[40454, inf) 0 0.0% 100.0%
-
-Benchmark_dial_VIF_TLS 500 12015788 ns/op
-Histogram (unit: ms)
-Count: 500 Min: 11 Max: 13 Avg: 11.34
-------------------------------------------------------------
-[ 11, 12) 350 70.0% 70.0% #######
-[ 12, 13) 132 26.4% 96.4% ###
-[ 13, 14) 18 3.6% 100.0%
-[ 14, 15) 0 0.0% 100.0%
-[ 15, 16) 0 0.0% 100.0%
-[ 16, 17) 0 0.0% 100.0%
-[ 17, 18) 0 0.0% 100.0%
-[ 18, 19) 0 0.0% 100.0%
-[ 19, 20) 0 0.0% 100.0%
-[ 20, 21) 0 0.0% 100.0%
-[ 21, 22) 0 0.0% 100.0%
-[ 22, 23) 0 0.0% 100.0%
-[ 23, 24) 0 0.0% 100.0%
-[ 24, 25) 0 0.0% 100.0%
-[ 25, 26) 0 0.0% 100.0%
-[ 26, 27) 0 0.0% 100.0%
-[ 27, inf) 0 0.0% 100.0%
-
-Benchmark_dial_VC_TLS 500 15909783 ns/op
-Histogram (unit: ms)
-Count: 500 Min: 15 Max: 20 Avg: 15.41
-------------------------------------------------------------
-[ 15, 16) 356 71.2% 71.2% #######
-[ 16, 17) 92 18.4% 89.6% ##
-[ 17, 18) 47 9.4% 99.0% #
-[ 18, 19) 4 0.8% 99.8%
-[ 19, 20) 0 0.0% 99.8%
-[ 20, 21) 1 0.2% 100.0%
-[ 21, 22) 0 0.0% 100.0%
-[ 22, 24) 0 0.0% 100.0%
-[ 24, 26) 0 0.0% 100.0%
-[ 26, 28) 0 0.0% 100.0%
-[ 28, 30) 0 0.0% 100.0%
-[ 30, 33) 0 0.0% 100.0%
-[ 33, 36) 0 0.0% 100.0%
-[ 36, 40) 0 0.0% 100.0%
-[ 40, 44) 0 0.0% 100.0%
-[ 44, 48) 0 0.0% 100.0%
-[ 48, inf) 0 0.0% 100.0%
+Benchmark_dial_VIF 500000 15356 ns/op
+--- Histogram (unit: s)
+ Count: 500000 Min: 4 Max: 15644 Avg: 14.66
+ ------------------------------------------------------------
+ [ 4, 5) 47181 9.4% 9.4% #
+ [ 5, 6) 314973 63.0% 72.4% ######
+ [ 6, 9) 123582 24.7% 97.1% ##
+ [ 9, 15) 10991 2.2% 99.3%
+ [ 15, 28) 2038 0.4% 99.8%
+ [ 28, 53) 129 0.0% 99.8%
+ [ 53, 100) 53 0.0% 99.8%
+ [ 100, 190) 12 0.0% 99.8%
+ [ 190, 362) 0 0.0% 99.8%
+ [ 362, 690) 1 0.0% 99.8%
+ [ 690, 1315) 38 0.0% 99.8%
+ [ 1315, 2505) 165 0.0% 99.8%
+ [ 2505, 4771) 487 0.1% 99.9%
+ [ 4771, 9086) 326 0.1% 100.0%
+ [ 9086, 17301) 24 0.0% 100.0%
+ [17301, 32941) 0 0.0% 100.0%
+ [32941, inf) 0 0.0% 100.0%
+Benchmark_dial_VIF_TLS 500 12681088 ns/op
+--- Histogram (unit: ms)
+ Count: 500 Min: 12 Max: 16 Avg: 12.31
+ ------------------------------------------------------------
+ [ 12, 13) 357 71.4% 71.4% #######
+ [ 13, 14) 133 26.6% 98.0% ###
+ [ 14, 15) 7 1.4% 99.4%
+ [ 15, 16) 2 0.4% 99.8%
+ [ 16, inf) 1 0.2% 100.0%
+Benchmark_dial_VC_TLS 500 16224331 ns/op
+--- Histogram (unit: ms)
+ Count: 500 Min: 15 Max: 22 Avg: 15.60
+ ------------------------------------------------------------
+ [ 15, 16) 279 55.8% 55.8% ######
+ [ 16, 17) 152 30.4% 86.2% ###
+ [ 17, 18) 62 12.4% 98.6% #
+ [ 18, 19) 6 1.2% 99.8%
+ [ 19, 20) 0 0.0% 99.8%
+ [ 20, 21) 0 0.0% 99.8%
+ [ 21, 23) 1 0.2% 100.0%
+ [ 23, inf) 0 0.0% 100.0%
+Benchmark_throughput_TCP_1Conn 1000000 10963 ns/op 4669.96 MB/s
+Benchmark_throughput_TCP_2Conns 1000000 9739 ns/op 5257.14 MB/s
+Benchmark_throughput_TCP_4Conns 500000 11896 ns/op 4303.82 MB/s
+Benchmark_throughput_TCP_8Conns 500000 12867 ns/op 3979.12 MB/s
+Benchmark_throughput_Pipe_1Conn 300000 28233 ns/op 1813.43 MB/s
+Benchmark_throughput_Pipe_2Conns 500000 25339 ns/op 2020.60 MB/s
+Benchmark_throughput_Pipe_4Conns 300000 26626 ns/op 1922.90 MB/s
+Benchmark_throughput_Pipe_8Conns 500000 27340 ns/op 1872.67 MB/s
+Benchmark_throughput_Flow_1VIF_1VC_1Flow 200000 32590 ns/op 1571.02 MB/s
+Benchmark_throughput_Flow_1VIF_1VC_2Flow 200000 32731 ns/op 1564.24 MB/s
+Benchmark_throughput_Flow_1VIF_1VC_8Flow 200000 41289 ns/op 1240.03 MB/s
+Benchmark_throughput_Flow_1VIF_2VC_2Flow 200000 33878 ns/op 1511.30 MB/s
+Benchmark_throughput_Flow_1VIF_2VC_8Flow 200000 40923 ns/op 1251.10 MB/s
+Benchmark_throughput_Flow_2VIF_4VC_8Flow 200000 42293 ns/op 1210.60 MB/s
+Benchmark_throughput_TLS_1Conn 20000 426157 ns/op 120.14 MB/s
+Benchmark_throughput_TLS_2Conns 20000 421319 ns/op 121.52 MB/s
+Benchmark_throughput_TLS_4Conns 20000 425284 ns/op 120.39 MB/s
+Benchmark_throughput_TLS_8Conns 20000 426533 ns/op 120.04 MB/s
+Benchmark_throughput_Flow_1VIF_1VC_1FlowTLS 20000 474126 ns/op 107.99 MB/s
+Benchmark_throughput_Flow_1VIF_1VC_2FlowTLS 20000 472005 ns/op 108.47 MB/s
+Benchmark_throughput_Flow_1VIF_1VC_8FlowTLS 20000 484625 ns/op 105.65 MB/s
+Benchmark_throughput_Flow_1VIF_2VC_2FlowTLS 20000 483762 ns/op 105.84 MB/s
+Benchmark_throughput_Flow_1VIF_2VC_8FlowTLS 20000 485164 ns/op 105.53 MB/s
+Benchmark_throughput_Flow_2VIF_4VC_8FlowTLS 20000 493864 ns/op 103.67 MB/s
diff --git a/runtimes/google/ipc/stream/benchmark/benchmark_test.go b/runtimes/google/ipc/stream/benchmark/benchmark_test.go
new file mode 100644
index 0000000..7122cf7
--- /dev/null
+++ b/runtimes/google/ipc/stream/benchmark/benchmark_test.go
@@ -0,0 +1,17 @@
+package benchmark
+
+import (
+ "os"
+ "testing"
+
+ "v.io/core/veyron/lib/testutil/benchmark"
+)
+
+// A single empty test to avoid:
+// testing: warning: no tests to run
+// from showing up when running benchmarks in this package via "go test"
+func TestNoOp(t *testing.T) {}
+
+func TestMain(m *testing.M) {
+ os.Exit(benchmark.RunTestMain(m))
+}
diff --git a/runtimes/google/ipc/stream/benchmark/dial_test.go b/runtimes/google/ipc/stream/benchmark/dial_test.go
index 7b835ad..a591009 100644
--- a/runtimes/google/ipc/stream/benchmark/dial_test.go
+++ b/runtimes/google/ipc/stream/benchmark/dial_test.go
@@ -2,9 +2,9 @@
import "testing"
-func Benchmark_dial_VIF(b *testing.B) { benchmarkVIFDial(b, securityNone) }
-func Benchmark_dial_VIF_TLS(b *testing.B) { benchmarkVIFDial(b, securityTLS) }
+func Benchmark_dial_VIF(b *testing.B) { benchmarkDialVIF(b, securityNone) }
+func Benchmark_dial_VIF_TLS(b *testing.B) { benchmarkDialVIF(b, securityTLS) }
// Note: We don't benchmark Non-TLC VC Dial for now since it doesn't wait ack
// from the server after sending "OpenVC".
-func Benchmark_dial_VC_TLS(b *testing.B) { benchmarkVCDial(b, securityTLS) }
+func Benchmark_dial_VC_TLS(b *testing.B) { benchmarkDialVC(b, securityTLS) }
diff --git a/runtimes/google/ipc/stream/benchmark/dial_vc.go b/runtimes/google/ipc/stream/benchmark/dial_vc.go
index 3bdcb32..387e392 100644
--- a/runtimes/google/ipc/stream/benchmark/dial_vc.go
+++ b/runtimes/google/ipc/stream/benchmark/dial_vc.go
@@ -1,11 +1,10 @@
package benchmark
import (
- "fmt"
"testing"
"time"
- "v.io/core/veyron/lib/testutil"
+ "v.io/core/veyron/lib/testutil/benchmark"
_ "v.io/core/veyron/profiles/static"
"v.io/core/veyron/runtimes/google/ipc/stream/manager"
@@ -13,9 +12,9 @@
"v.io/core/veyron2/options"
)
-// benchmarkVCDial measures VC creation time over the underlying VIF.
-func benchmarkVCDial(b *testing.B, mode options.VCSecurityLevel) {
- stats := testutil.NewBenchStats(16)
+// benchmarkDialVC measures VC creation time over the underlying VIF.
+func benchmarkDialVC(b *testing.B, mode options.VCSecurityLevel) {
+ stats := benchmark.AddStats(b, 16)
server := manager.InternalNew(naming.FixedRoutingID(0x5))
client := manager.InternalNew(naming.FixedRoutingID(0xc))
@@ -31,8 +30,7 @@
b.Fatal(err)
}
- // Reset the timer to exclude any underlying setup time from measurement.
- b.ResetTimer()
+ b.ResetTimer() // Exclude setup time from measurement.
for i := 0; i < b.N; i++ {
b.StartTimer()
@@ -53,7 +51,4 @@
client.Shutdown()
server.Shutdown()
-
- fmt.Println()
- fmt.Println(stats)
}
diff --git a/runtimes/google/ipc/stream/benchmark/dial_vif.go b/runtimes/google/ipc/stream/benchmark/dial_vif.go
index 4fce465..6413925 100644
--- a/runtimes/google/ipc/stream/benchmark/dial_vif.go
+++ b/runtimes/google/ipc/stream/benchmark/dial_vif.go
@@ -1,24 +1,22 @@
package benchmark
import (
- "fmt"
"net"
"testing"
"time"
- "v.io/core/veyron/lib/testutil"
+ "v.io/core/veyron/lib/testutil/benchmark"
"v.io/core/veyron/runtimes/google/ipc/stream/vif"
"v.io/core/veyron2/naming"
"v.io/core/veyron2/options"
)
-// benchmarkVIFDial measures VIF creation time over the underlying net connection.
-func benchmarkVIFDial(b *testing.B, mode options.VCSecurityLevel) {
- stats := testutil.NewBenchStats(16)
+// benchmarkDialVIF measures VIF creation time over the underlying net connection.
+func benchmarkDialVIF(b *testing.B, mode options.VCSecurityLevel) {
+ stats := benchmark.AddStats(b, 16)
- // Reset the timer to exclude any underlying setup time from measurement.
- b.ResetTimer()
+ b.ResetTimer() // Exclude setup time from measurement.
for i := 0; i < b.N; i++ {
b.StopTimer()
@@ -45,7 +43,4 @@
client.Close()
server.Close()
}
-
- fmt.Println()
- fmt.Println(stats)
}
diff --git a/runtimes/google/ipc/stream/benchmark/throughput_test.go b/runtimes/google/ipc/stream/benchmark/throughput_test.go
index 9487f0a..76ad57d 100644
--- a/runtimes/google/ipc/stream/benchmark/throughput_test.go
+++ b/runtimes/google/ipc/stream/benchmark/throughput_test.go
@@ -34,8 +34,3 @@
func Benchmark_throughput_Flow_1VIF_2VC_8FlowTLS(b *testing.B) { benchmarkFlow(b, securityTLS, 1, 2, 4) }
func Benchmark_throughput_Flow_2VIF_4VC_8FlowTLS(b *testing.B) { benchmarkFlow(b, securityTLS, 2, 2, 2) }
-
-// A single empty test to avoid:
-// testing: warning: no tests to run
-// from showing up when running benchmarks in this package via "go test"
-func TestNoOp(t *testing.T) {}