aboutsummaryrefslogtreecommitdiff
path: root/cmd/bolt/main.go
diff options
context:
space:
mode:
authorBen Johnson <benbjohnson@yahoo.com>2014-05-15 14:04:57 -0600
committerBen Johnson <benbjohnson@yahoo.com>2014-05-15 14:04:57 -0600
commita1873dd6f65654d463455ae2d381c35c12f71f51 (patch)
tree4b5b5cff16a08bbeebe0e7c2909eaf003cf90ec2 /cmd/bolt/main.go
parentMerge pull request #165 from benbjohnson/strict-mode (diff)
downloaddedo-a1873dd6f65654d463455ae2d381c35c12f71f51.tar.gz
dedo-a1873dd6f65654d463455ae2d381c35c12f71f51.tar.xz
Add option to adjust fill percentage.
This commit adds the ability to adjust the fill percentage for splitting nodes. This works by setting a threshold that is a percentage of a total page size. When that threshold is crossed during a split then a new node is created. This is primarily beneficial for append-only workloads. Fixes #163.
Diffstat (limited to 'cmd/bolt/main.go')
-rw-r--r--cmd/bolt/main.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/cmd/bolt/main.go b/cmd/bolt/main.go
index 66c33d2..44ba5a1 100644
--- a/cmd/bolt/main.go
+++ b/cmd/bolt/main.go
@@ -8,6 +8,7 @@ import (
"os"
"time"
+ "github.com/boltdb/bolt"
"github.com/codegangsta/cli"
)
@@ -114,6 +115,7 @@ func NewApp() *cli.App {
&cli.StringFlag{Name: "memprofile", Usage: "Memory profile output path"},
&cli.StringFlag{Name: "blockprofile", Usage: "Block profile output path"},
&cli.StringFlag{Name: "stats-interval", Value: "0s", Usage: "Continuous stats interval"},
+ &cli.Float64Flag{Name: "fill-percent", Value: bolt.DefaultFillPercent, Usage: "Fill percentage"},
&cli.BoolFlag{Name: "work", Usage: "Print the temp db and do not delete on exit"},
},
Action: func(c *cli.Context) {
@@ -134,6 +136,7 @@ func NewApp() *cli.App {
MemProfile: c.String("memprofile"),
BlockProfile: c.String("blockprofile"),
StatsInterval: statsInterval,
+ FillPercent: c.Float64("fill-percent"),
Clean: !c.Bool("work"),
})
},