aboutsummaryrefslogtreecommitdiff
path: root/cmd/bolt/main.go
diff options
context:
space:
mode:
authorBen Johnson <benbjohnson@yahoo.com>2014-07-15 07:37:46 -0600
committerBen Johnson <benbjohnson@yahoo.com>2014-07-15 07:37:46 -0600
commit048d3f19b28ee04dd6b2ca3c8f86e5fa65dc7355 (patch)
treedbc4f69d728c34c6edc6d41872a21a2200d41c76 /cmd/bolt/main.go
parentMerge pull request #224 from benbjohnson/rebalance-time (diff)
downloaddedo-048d3f19b28ee04dd6b2ca3c8f86e5fa65dc7355.tar.gz
dedo-048d3f19b28ee04dd6b2ca3c8f86e5fa65dc7355.tar.xz
Add DB.NoSync option for bulk loading.
This commit adds the DB.NoSync flag to skip fsync() calls on each commit. This should only be used for bulk loading as it can corrupt your database in the event of a system failure. Initial tests show it can provide a 2x speed up for sequential inserts.
Diffstat (limited to 'cmd/bolt/main.go')
-rw-r--r--cmd/bolt/main.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/cmd/bolt/main.go b/cmd/bolt/main.go
index a79302d..95bd813 100644
--- a/cmd/bolt/main.go
+++ b/cmd/bolt/main.go
@@ -118,6 +118,7 @@ func NewApp() *cli.App {
&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: "no-sync", Usage: "Skip fsync on every commit"},
&cli.BoolFlag{Name: "work", Usage: "Print the temp db and do not delete on exit"},
},
Action: func(c *cli.Context) {
@@ -139,6 +140,7 @@ func NewApp() *cli.App {
BlockProfile: c.String("blockprofile"),
StatsInterval: statsInterval,
FillPercent: c.Float64("fill-percent"),
+ NoSync: c.Bool("no-sync"),
Clean: !c.Bool("work"),
})
},