aboutsummaryrefslogtreecommitdiff
path: root/cmd/bolt/bench/generate.go
diff options
context:
space:
mode:
authorSteven Normore <snormore@gmail.com>2014-04-14 16:25:04 +0000
committerBen Johnson <benbjohnson@yahoo.com>2014-04-18 21:44:48 -0500
commit71e91e24b064c1c8e33d92b7f324b6cd57d07f87 (patch)
tree58863c8077373f832b2cf608f8c746faf9cc9438 /cmd/bolt/bench/generate.go
parentadd bench sub-package (diff)
downloaddedo-71e91e24b064c1c8e33d92b7f324b6cd57d07f87.tar.gz
dedo-71e91e24b064c1c8e33d92b7f324b6cd57d07f87.tar.xz
move bench package to bench/cmd/bolt/bench
Diffstat (limited to 'cmd/bolt/bench/generate.go')
-rw-r--r--cmd/bolt/bench/generate.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/cmd/bolt/bench/generate.go b/cmd/bolt/bench/generate.go
new file mode 100644
index 0000000..8c5554d
--- /dev/null
+++ b/cmd/bolt/bench/generate.go
@@ -0,0 +1,24 @@
+package bench
+
+import (
+ "fmt"
+ "strings"
+
+ "github.com/boltdb/bolt"
+)
+
+// Generate and write data to specified number of buckets/items.
+func GenerateDB(db *bolt.DB, numBuckets, numItemsPerBucket int) error {
+ return db.Update(func(tx *bolt.Tx) error {
+ for bucketIndex := 0; bucketIndex < numBuckets; bucketIndex++ {
+ bucketName := fmt.Sprintf("bucket%08d")
+ tx.CreateBucket([]byte(bucketName))
+ bucket := tx.Bucket([]byte(bucketName))
+ for i := 0; i < numItemsPerBucket; i++ {
+ value := []byte(strings.Repeat("0", 100))
+ bucket.Put([]byte(fmt.Sprintf("key%08d", i)), value)
+ }
+ }
+ return nil
+ })
+}