// Copyright 2013 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 runtime_test import ( "testing" "unsafe" ) var mallocSink uintptr func BenchmarkMalloc8(b *testing.B) { var x uintptr for i := 0; i < b.N; i++ { p := new(int64) x ^= uintptr(unsafe.Pointer(p)) } mallocSink = x } func BenchmarkMalloc16(b *testing.B) { var x uintptr for i := 0; i < b.N; i++ { p := new([2]int64) x ^= uintptr(unsafe.Pointer(p)) } mallocSink = x } func BenchmarkMallocTypeInfo8(b *testing.B) { var x uintptr for i := 0; i < b.N; i++ { p := new(struct { p [8 / unsafe.Sizeof(uintptr(0))]*int }) x ^= uintptr(unsafe.Pointer(p)) } mallocSink = x } func BenchmarkMallocTypeInfo16(b *testing.B) { var x uintptr for i := 0; i < b.N; i++ { p := new(struct { p [16 / unsafe.Sizeof(uintptr(0))]*int }) x ^= uintptr(unsafe.Pointer(p)) } mallocSink = x }