-
Notifications
You must be signed in to change notification settings - Fork 114
Open
Description
May I ask why there is an additional multiplication by 1.2 here?
// shrinkIfNeeded shrinks the deque if it has too many unused space.
func (d *Deque[T]) shrinkIfNeeded() {
if int(float64(d.segUsed()*2)*1.2) < cap(d.segs) {
newCapacity := cap(d.segs) / 2
seg := make([]*Segment[T], newCapacity)
for i := 0; i < d.segUsed(); i++ {
seg[i] = d.segs[(d.begin+i)%cap(d.segs)]
}
u := d.segUsed()
d.begin = 0
d.end = u
d.segs = seg
}
}
Metadata
Metadata
Assignees
Labels
No labels