/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue15277.go
41 строка
851 B
Dmitri Shuralyov
test: migrate remaining files to go:build syntax
20 окт 2023, 02:33
20 окт 2023, 02:33
b2fd76a
Код
Авторство
О чём код?
// run //go:build amd64 // Copyright 2016 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import "runtime" type big [10 << 20]byte func f(x *big, start int64) { if delta := inuse() - start; delta < 9<<20 { println("after alloc: expected delta at least 9MB, got: ", delta) } runtime.KeepAlive(x) x = nil if delta := inuse() - start; delta > 1<<20 { println("after drop: expected delta below 1MB, got: ", delta) } x = new(big) if delta := inuse() - start; delta < 9<<20 { println("second alloc: expected delta at least 9MB, got: ", delta) } runtime.KeepAlive(x) } func main() { x := inuse() f(new(big), x) } func inuse() int64 { runtime.GC() var st runtime.MemStats runtime.ReadMemStats(&st) return int64(st.Alloc) }