Skip to content

Commit 2ca2a54

Browse files
committed
cleanup: remove syncmap impl, comments, add NewDiffMetadata constructor
1 parent 2982447 commit 2ca2a54

File tree

10 files changed

+19
-100
lines changed

10 files changed

+19
-100
lines changed

packages/orchestrator/pkg/sandbox/block/cache.go

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,7 @@ func (c *Cache) ExportToDiff(ctx context.Context, out *os.File) (*header.DiffMet
116116
}
117117

118118
if c.mmap == nil {
119-
return &header.DiffMetadata{
120-
Dirty: bitset.New(0),
121-
Empty: bitset.New(0),
122-
BlockSize: c.blockSize,
123-
}, nil
119+
return header.NewDiffMetadata(c.blockSize, bitset.New(0)), nil
124120
}
125121

126122
f, err := os.Open(c.filePath)
@@ -140,9 +136,7 @@ func (c *Cache) ExportToDiff(ctx context.Context, out *os.File) (*header.DiffMet
140136
}
141137

142138
buildStart := time.Now()
143-
builder := header.NewDiffMetadataBuilderFromDirty(c.blockSize, c.dirty.BitSet())
144-
145-
diffMetadata := builder.Build()
139+
diffMetadata := header.NewDiffMetadata(c.blockSize, c.dirty.BitSet())
146140
telemetry.SetAttributes(ctx, attribute.Int64("build_metadata_ms", time.Since(buildStart).Milliseconds()))
147141

148142
dst := int(out.Fd())

packages/shared/pkg/atomicbitset/bab.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import (
66
"github.com/bits-and-blooms/bitset"
77
)
88

9-
// BitsAndBlooms wraps a bits-and-blooms/bitset.BitSet with an internal RWMutex.
9+
var _ Bitset = (*BitsAndBlooms)(nil)
10+
1011
type BitsAndBlooms struct {
1112
mu sync.RWMutex
1213
bs *bitset.BitSet

packages/shared/pkg/atomicbitset/bitset.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
// Package atomicbitset provides fixed-size bitset implementations.
2-
// All implementations are safe for concurrent HasRange and SetRange.
31
package atomicbitset
42

53
import (

packages/shared/pkg/atomicbitset/bitset_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ var impls = []implFactory{
2020
{"BitsAndBlooms", func(n uint) Bitset { return NewBitsAndBlooms(n) }},
2121
{"Sharded", func(n uint) Bitset { return NewSharded(n, DefaultShardBits) }},
2222
{"Sharded/small", func(n uint) Bitset { return NewSharded(n, 64) }},
23-
{"SyncMap", func(n uint) Bitset { return NewSyncMap(n) }},
2423
}
2524

2625
func TestHasRange(t *testing.T) {

packages/shared/pkg/atomicbitset/flat.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"github.com/bits-and-blooms/bitset"
88
)
99

10+
var _ Bitset = (*Flat)(nil)
11+
1012
type Flat struct {
1113
words []atomic.Uint64
1214
n uint

packages/shared/pkg/atomicbitset/roaring.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import (
77
"github.com/bits-and-blooms/bitset"
88
)
99

10-
// Roaring wraps a roaring bitmap (32-bit) with an internal RWMutex.
10+
var _ Bitset = (*Roaring)(nil)
11+
1112
type Roaring struct {
1213
mu sync.RWMutex
1314
bm *roaring.Bitmap

packages/shared/pkg/atomicbitset/roaring64.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import (
77
"github.com/bits-and-blooms/bitset"
88
)
99

10-
// Roaring64 wraps a roaring64 bitmap (64-bit keys) with an internal RWMutex.
10+
var _ Bitset = (*Roaring64)(nil)
11+
1112
type Roaring64 struct {
1213
mu sync.RWMutex
1314
bm *roaring64.Bitmap

packages/shared/pkg/atomicbitset/sharded.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"github.com/bits-and-blooms/bitset"
77
)
88

9-
// DefaultShardBits is 128 MB / 4 KB = 32768 bits per shard (4 KB bitmap, one OS page).
109
const DefaultShardBits uint = 32768
1110

1211
type shard struct {
@@ -19,7 +18,6 @@ func newShard(bitsPerShard uint) *shard {
1918
}
2019
}
2120

22-
// Sharded is a two-level lock-free bitset with lazily allocated shard bitmaps.
2321
type Sharded struct {
2422
shards []atomic.Pointer[shard]
2523
n uint
@@ -173,10 +171,4 @@ func shardSetRange(sh *shard, lo, hi uint) {
173171
}
174172
}
175173

176-
var (
177-
_ Bitset = (*Flat)(nil)
178-
_ Bitset = (*Roaring)(nil)
179-
_ Bitset = (*Roaring64)(nil)
180-
_ Bitset = (*Sharded)(nil)
181-
_ Bitset = (*SyncMap)(nil)
182-
)
174+
var _ Bitset = (*Sharded)(nil)

packages/shared/pkg/atomicbitset/syncmap.go

Lines changed: 0 additions & 69 deletions
This file was deleted.

packages/shared/pkg/storage/header/metadata.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@ type DiffMetadata struct {
2424
BlockSize int64
2525
}
2626

27+
func NewDiffMetadata(blockSize int64, dirty *bitset.BitSet) *DiffMetadata {
28+
return &DiffMetadata{
29+
Dirty: dirty,
30+
Empty: bitset.New(0),
31+
BlockSize: blockSize,
32+
}
33+
}
34+
2735
func (d *DiffMetadata) toDiffMapping(
2836
ctx context.Context,
2937
buildID uuid.UUID,
@@ -122,14 +130,6 @@ func NewDiffMetadataBuilder(size, blockSize int64) *DiffMetadataBuilder {
122130
}
123131
}
124132

125-
func NewDiffMetadataBuilderFromDirty(blockSize int64, dirty *bitset.BitSet) *DiffMetadataBuilder {
126-
return &DiffMetadataBuilder{
127-
dirty: dirty,
128-
empty: bitset.New(0),
129-
blockSize: blockSize,
130-
}
131-
}
132-
133133
func (b *DiffMetadataBuilder) Process(ctx context.Context, block []byte, out io.Writer, offset int64) error {
134134
blockIdx := BlockIdx(offset, b.blockSize)
135135

0 commit comments

Comments
 (0)