forked from TrueCloudLab/restic
7bda28f31f
These are faster to construct but slower to access. The allocation rate is halved, the peak memory usage almost halved compared to standard map. Benchmark results on linux/amd64, -benchtime=3s -count=20: name old time/op new time/op delta PackerManager-8 178ms ± 0% 178ms ± 0% ~ (p=0.231 n=20+20) DecodeIndex-8 4.54s ± 0% 4.30s ± 0% -5.20% (p=0.000 n=18+17) DecodeIndexParallel-8 4.54s ± 0% 4.30s ± 0% -5.22% (p=0.000 n=19+18) IndexHasUnknown-8 44.4ns ± 5% 50.5ns ±11% +13.82% (p=0.000 n=19+17) IndexHasKnown-8 48.3ns ± 0% 51.5ns ±12% +6.68% (p=0.001 n=16+20) IndexAlloc-8 758ms ± 1% 616ms ± 1% -18.69% (p=0.000 n=19+19) IndexAllocParallel-8 234ms ± 3% 204ms ± 2% -12.60% (p=0.000 n=20+18) MasterIndexLookupSingleIndex-8 122ns ± 0% 145ns ± 9% +18.44% (p=0.000 n=14+20) MasterIndexLookupMultipleIndex-8 369ns ± 2% 429ns ± 8% +16.27% (p=0.000 n=20+20) MasterIndexLookupSingleIndexUnknown-8 68.4ns ± 5% 74.9ns ±13% +9.47% (p=0.000 n=20+20) MasterIndexLookupMultipleIndexUnknown-8 315ns ± 3% 369ns ±11% +17.14% (p=0.000 n=20+20) MasterIndexLookupParallel/known,indices=5-8 743ns ± 1% 816ns ± 2% +9.87% (p=0.000 n=17+17) MasterIndexLookupParallel/unknown,indices=5-8 238ns ± 1% 260ns ± 2% +9.14% (p=0.000 n=19+20) MasterIndexLookupParallel/known,indices=10-8 1.01µs ± 3% 1.11µs ± 2% +9.79% (p=0.000 n=19+20) MasterIndexLookupParallel/unknown,indices=10-8 222ns ± 0% 269ns ± 2% +20.83% (p=0.000 n=16+20) MasterIndexLookupParallel/known,indices=20-8 1.06µs ± 2% 1.19µs ± 2% +12.95% (p=0.000 n=19+18) MasterIndexLookupParallel/unknown,indices=20-8 413ns ± 1% 530ns ± 1% +28.19% (p=0.000 n=18+20) SaveAndEncrypt-8 30.2ms ± 1% 30.4ms ± 0% +0.71% (p=0.000 n=19+19) LoadTree-8 540µs ± 1% 576µs ± 1% +6.73% (p=0.000 n=20+20) LoadBlob-8 5.64ms ± 0% 5.64ms ± 0% ~ (p=0.883 n=18+17) LoadAndDecrypt-8 5.93ms ± 0% 5.95ms ± 1% ~ (p=0.247 n=20+19) LoadIndex-8 25.1ms ± 0% 24.5ms ± 1% -2.54% (p=0.000 n=18+17) name old speed new speed delta PackerManager-8 296MB/s ± 0% 296MB/s ± 0% ~ (p=0.229 n=20+20) SaveAndEncrypt-8 139MB/s ± 1% 138MB/s ± 0% -0.71% (p=0.000 n=19+19) LoadBlob-8 177MB/s ± 0% 177MB/s ± 0% ~ (p=0.890 n=18+17) LoadAndDecrypt-8 169MB/s ± 0% 168MB/s ± 1% ~ (p=0.227 n=20+19) name old alloc/op new alloc/op delta PackerManager-8 91.8kB ± 0% 91.8kB ± 0% ~ (p=0.772 n=12+19) IndexAlloc-8 786MB ± 0% 400MB ± 0% -49.04% (p=0.000 n=20+18) IndexAllocParallel-8 786MB ± 0% 401MB ± 0% -49.04% (p=0.000 n=19+15) SaveAndEncrypt-8 21.0MB ± 0% 21.0MB ± 0% +0.00% (p=0.000 n=19+19) name old allocs/op new allocs/op delta PackerManager-8 1.41k ± 0% 1.41k ± 0% ~ (all equal) IndexAlloc-8 977k ± 0% 907k ± 0% -7.18% (p=0.000 n=20+20) IndexAllocParallel-8 977k ± 0% 907k ± 0% -7.17% (p=0.000 n=19+15) SaveAndEncrypt-8 73.0 ± 0% 73.0 ± 0% ~ (all equal)
53 lines
2.1 KiB
Modula-2
53 lines
2.1 KiB
Modula-2
module github.com/restic/restic
|
|
|
|
require (
|
|
bazil.org/fuse v0.0.0-20191225072544-27e78e7d88df
|
|
cloud.google.com/go v0.37.4 // indirect
|
|
github.com/Azure/azure-sdk-for-go v27.3.0+incompatible
|
|
github.com/Azure/go-autorest/autorest v0.9.2 // indirect
|
|
github.com/cenkalti/backoff v2.1.1+incompatible
|
|
github.com/cespare/xxhash v1.1.0
|
|
github.com/cpuguy83/go-md2man v1.0.10 // indirect
|
|
github.com/dchest/siphash v1.2.1
|
|
github.com/dnaeon/go-vcr v1.0.1 // indirect
|
|
github.com/elithrar/simple-scrypt v1.3.0
|
|
github.com/golang/protobuf v1.3.1 // indirect
|
|
github.com/google/go-cmp v0.2.0
|
|
github.com/gopherjs/gopherjs v0.0.0-20190411002643-bd77b112433e // indirect
|
|
github.com/hashicorp/golang-lru v0.5.1 // indirect
|
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
|
github.com/juju/ratelimit v1.0.1
|
|
github.com/kr/fs v0.1.0 // indirect
|
|
github.com/kr/pretty v0.1.0 // indirect
|
|
github.com/kurin/blazer v0.5.3
|
|
github.com/marstr/guid v1.1.0 // indirect
|
|
github.com/minio/minio-go/v6 v6.0.43
|
|
github.com/minio/sha256-simd v0.1.1
|
|
github.com/ncw/swift v1.0.47
|
|
github.com/pkg/errors v0.8.1
|
|
github.com/pkg/profile v1.3.0
|
|
github.com/pkg/sftp v1.10.0
|
|
github.com/pkg/xattr v0.4.1
|
|
github.com/restic/chunker v0.3.0
|
|
github.com/satori/go.uuid v1.2.0 // indirect
|
|
github.com/smartystreets/assertions v0.0.0-20190401211740-f487f9de1cd3 // indirect
|
|
github.com/spf13/cobra v0.0.3
|
|
github.com/spf13/pflag v1.0.3
|
|
github.com/stretchr/testify v1.3.0 // indirect
|
|
go.opencensus.io v0.20.2 // indirect
|
|
golang.org/x/crypto v0.0.0-20200427165652-729f1e841bcc
|
|
golang.org/x/net v0.0.0-20200425230154-ff2c4b7c35a0
|
|
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a
|
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58
|
|
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd
|
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2
|
|
google.golang.org/api v0.3.2
|
|
google.golang.org/appengine v1.5.0 // indirect
|
|
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7 // indirect
|
|
google.golang.org/grpc v1.20.1 // indirect
|
|
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
|
|
gopkg.in/tomb.v2 v2.0.0-20161208151619-d5d1b5820637
|
|
gopkg.in/yaml.v2 v2.2.2 // indirect
|
|
)
|
|
|
|
go 1.13
|