Skip to content

Instantly share code, notes, and snippets.

@kyanny
Created June 9, 2020 18:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kyanny/57c3c7aeaa451e1513442b97c1cef955 to your computer and use it in GitHub Desktop.
Save kyanny/57c3c7aeaa451e1513442b97c1cef955 to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"math"
)
func pp(a []uint64, oldcap int) {
if cap(a) != oldcap {
var ntimes float64
if oldcap != 0 {
ntimes = float64(cap(a))/float64(oldcap)
}
fmt.Printf("len=%d, cap=%d, ntimes=%f\n", len(a), cap(a), ntimes)
}
}
func main() {
a := make([]uint64, 0)
oldcap := cap(a)
pp(a, oldcap)
var i uint64
for i = 0; i < uint64(math.Pow(2, 32)); i++ {
oldcap := cap(a)
a = append(a, 0)
pp(a, oldcap)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment