mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00

This adds build constraints in order to pass memory-map flags to bolt.Option. If backend package passes syscall.MAP_POPULATE flag, the boltdb does read-ahead which speeds up entire-database read, which then leads to faster storage Restore. Benchmark result shows for 4GB, it opens and loads 6x faster in SSD, and 12x faster in HDD. For 2GB, 1.6x faster with MAP_POPULATE in SSD.
20 lines
725 B
Go
20 lines
725 B
Go
// Copyright 2015 CoreOS, Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package backend
|
|
|
|
import "github.com/coreos/etcd/Godeps/_workspace/src/github.com/boltdb/bolt"
|
|
|
|
var boltOpenOptions *bolt.Options = nil
|