aboutsummaryrefslogtreecommitdiff
path: root/go/util/bytes_pool_test.go
diff options
context:
space:
mode:
authorchrislusf <chris.lu@gmail.com>2016-04-14 01:30:26 -0700
committerchrislusf <chris.lu@gmail.com>2016-04-14 01:30:26 -0700
commit0649d778a72d4c0c27b3f2049fdb6f6e18956a65 (patch)
treefd8f58c8639aba6038cf6bef0d382fc806a8b48c /go/util/bytes_pool_test.go
parent95e0d2f1b236f97f70d51a62c3df6a937a27286d (diff)
downloadseaweedfs-0649d778a72d4c0c27b3f2049fdb6f6e18956a65.tar.xz
seaweedfs-0649d778a72d4c0c27b3f2049fdb6f6e18956a65.zip
pooling []byte
reduce the number of requests to make([]byte)
Diffstat (limited to 'go/util/bytes_pool_test.go')
-rw-r--r--go/util/bytes_pool_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/go/util/bytes_pool_test.go b/go/util/bytes_pool_test.go
new file mode 100644
index 000000000..3f37c16cf
--- /dev/null
+++ b/go/util/bytes_pool_test.go
@@ -0,0 +1,41 @@
+package util
+
+import (
+ "testing"
+)
+
+func TestTTLReadWrite(t *testing.T) {
+ var tests = []struct {
+ n int // input
+ expected int // expected result
+ }{
+ {0, -1},
+ {1, 0},
+ {1 << 4, 0},
+ {1 << 6, 1},
+ {1 << 8, 2},
+ {1 << 10, 3},
+ {1 << 12, 4},
+ {1 << 14, 5},
+ {1 << 16, 6},
+ {1 << 18, 7},
+ {1<<4 + 1, 1},
+ {1<<6 + 1, 2},
+ {1<<8 + 1, 3},
+ {1<<10 + 1, 4},
+ {1<<12 + 1, 5},
+ {1<<14 + 1, 6},
+ {1<<16 + 1, 7},
+ {1<<18 + 1, 8},
+ {1<<28 - 1, 12},
+ {1 << 28, 12},
+ {1<<28 + 2134, -1},
+ {1080, 4},
+ }
+ for _, tt := range tests {
+ actual := findChunkPoolIndex(tt.n)
+ if actual != tt.expected {
+ t.Errorf("findChunkPoolIndex(%d): expected %d, actual %d", tt.n, tt.expected, actual)
+ }
+ }
+}