blockstore: change unit of bloom filter to byte from bits

License: MIT
Signed-off-by: 's avatarJakub Sztandera <kubuxu@protonmail.ch>
上级 9a234422
...@@ -8,16 +8,16 @@ import ( ...@@ -8,16 +8,16 @@ import (
// Next to each option is it aproximate memory usage per unit // Next to each option is it aproximate memory usage per unit
type CacheOpts struct { type CacheOpts struct {
HasBloomFilterSize int // 1 bit HasBloomFilterSize int // 1 byte
HasBloomFilterHashes int // No size, 7 is usually best, consult bloom papers HasBloomFilterHashes int // No size, 7 is usually best, consult bloom papers
HasARCCacheSize int // 32 bytes HasARCCacheSize int // 32 bytes
} }
func DefaultCacheOpts() CacheOpts { func DefaultCacheOpts() CacheOpts {
return CacheOpts{ return CacheOpts{
HasBloomFilterSize: 512 * 8 * 1024, HasBloomFilterSize: 512 << 10,
HasBloomFilterHashes: 7, HasBloomFilterHashes: 7,
HasARCCacheSize: 64 * 1024, HasARCCacheSize: 64 << 10,
} }
} }
...@@ -34,7 +34,8 @@ func CachedBlockstore(bs GCBlockstore, ...@@ -34,7 +34,8 @@ func CachedBlockstore(bs GCBlockstore,
return nil, errors.New("bloom filter hash count can't be 0 when there is size set") return nil, errors.New("bloom filter hash count can't be 0 when there is size set")
} }
if opts.HasBloomFilterSize != 0 { if opts.HasBloomFilterSize != 0 {
cbs, err = bloomCached(cbs, ctx, opts.HasBloomFilterSize, opts.HasBloomFilterHashes) // *8 because of bytes to bits conversion
cbs, err = bloomCached(cbs, ctx, opts.HasBloomFilterSize*8, opts.HasBloomFilterHashes)
} }
if opts.HasARCCacheSize > 0 { if opts.HasARCCacheSize > 0 {
cbs, err = arcCached(cbs, opts.HasARCCacheSize) cbs, err = arcCached(cbs, opts.HasARCCacheSize)
......
...@@ -100,7 +100,7 @@ Default: `false` ...@@ -100,7 +100,7 @@ Default: `false`
A boolean value. If set to true, all block reads from disk will be hashed and verified. This will cause increased CPU utilization. A boolean value. If set to true, all block reads from disk will be hashed and verified. This will cause increased CPU utilization.
- `BloomFilterSize` - `BloomFilterSize`
A number representing the size in bits of the blockstore's bloom filter. A value of zero represents the feature being disabled. A number representing the size in bytes of the blockstore's bloom filter. A value of zero represents the feature being disabled.
Default: `0` Default: `0`
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论