X7ROOT File Manager
Current Path:
/opt/golang/1.19.4/src/cmd/compile/internal/test
opt
/
golang
/
1.19.4
/
src
/
cmd
/
compile
/
internal
/
test
/
📁
..
📄
README
(205 B)
📄
abiutils_test.go
(14.51 KB)
📄
abiutilsaux_test.go
(3.24 KB)
📄
align_test.go
(1.57 KB)
📄
bench_test.go
(2.08 KB)
📄
clobberdead_test.go
(1.25 KB)
📄
constFold_test.go
(322.99 KB)
📄
dep_test.go
(858 B)
📄
divconst_test.go
(7.74 KB)
📄
fixedbugs_test.go
(2.24 KB)
📄
float_test.go
(12.48 KB)
📄
global_test.go
(2.59 KB)
📄
iface_test.go
(1.92 KB)
📄
inl_test.go
(8.19 KB)
📄
inst_test.go
(2.21 KB)
📄
intrinsics_test.go
(1.08 KB)
📄
issue50182_test.go
(1.24 KB)
📄
lang_test.go
(1.47 KB)
📄
logic_test.go
(11.08 KB)
📄
mulconst_test.go
(4.29 KB)
📄
race.go
(1.33 KB)
📄
reproduciblebuilds_test.go
(2.9 KB)
📄
shift_test.go
(21.62 KB)
📄
ssa_test.go
(5.12 KB)
📄
switch_test.go
(2.29 KB)
📄
test.go
(13 B)
📁
testdata
📄
truncconst_test.go
(1.76 KB)
📄
zerorange_test.go
(4.06 KB)
Editing: mulconst_test.go
// Copyright 2020 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 test import "testing" // Benchmark multiplication of an integer by various constants. // // The comment above each sub-benchmark provides an example of how the // target multiplication operation might be implemented using shift // (multiplication by a power of 2), addition and subtraction // operations. It is platform-dependent whether these transformations // are actually applied. var ( mulSinkI32 int32 mulSinkI64 int64 mulSinkU32 uint32 mulSinkU64 uint64 ) func BenchmarkMulconstI32(b *testing.B) { // 3x = 2x + x b.Run("3", func(b *testing.B) { x := int32(1) for i := 0; i < b.N; i++ { x *= 3 } mulSinkI32 = x }) // 5x = 4x + x b.Run("5", func(b *testing.B) { x := int32(1) for i := 0; i < b.N; i++ { x *= 5 } mulSinkI32 = x }) // 12x = 8x + 4x b.Run("12", func(b *testing.B) { x := int32(1) for i := 0; i < b.N; i++ { x *= 12 } mulSinkI32 = x }) // 120x = 128x - 8x b.Run("120", func(b *testing.B) { x := int32(1) for i := 0; i < b.N; i++ { x *= 120 } mulSinkI32 = x }) // -120x = 8x - 120x b.Run("-120", func(b *testing.B) { x := int32(1) for i := 0; i < b.N; i++ { x *= -120 } mulSinkI32 = x }) // 65537x = 65536x + x b.Run("65537", func(b *testing.B) { x := int32(1) for i := 0; i < b.N; i++ { x *= 65537 } mulSinkI32 = x }) // 65538x = 65536x + 2x b.Run("65538", func(b *testing.B) { x := int32(1) for i := 0; i < b.N; i++ { x *= 65538 } mulSinkI32 = x }) } func BenchmarkMulconstI64(b *testing.B) { // 3x = 2x + x b.Run("3", func(b *testing.B) { x := int64(1) for i := 0; i < b.N; i++ { x *= 3 } mulSinkI64 = x }) // 5x = 4x + x b.Run("5", func(b *testing.B) { x := int64(1) for i := 0; i < b.N; i++ { x *= 5 } mulSinkI64 = x }) // 12x = 8x + 4x b.Run("12", func(b *testing.B) { x := int64(1) for i := 0; i < b.N; i++ { x *= 12 } mulSinkI64 = x }) // 120x = 128x - 8x b.Run("120", func(b *testing.B) { x := int64(1) for i := 0; i < b.N; i++ { x *= 120 } mulSinkI64 = x }) // -120x = 8x - 120x b.Run("-120", func(b *testing.B) { x := int64(1) for i := 0; i < b.N; i++ { x *= -120 } mulSinkI64 = x }) // 65537x = 65536x + x b.Run("65537", func(b *testing.B) { x := int64(1) for i := 0; i < b.N; i++ { x *= 65537 } mulSinkI64 = x }) // 65538x = 65536x + 2x b.Run("65538", func(b *testing.B) { x := int64(1) for i := 0; i < b.N; i++ { x *= 65538 } mulSinkI64 = x }) } func BenchmarkMulconstU32(b *testing.B) { // 3x = 2x + x b.Run("3", func(b *testing.B) { x := uint32(1) for i := 0; i < b.N; i++ { x *= 3 } mulSinkU32 = x }) // 5x = 4x + x b.Run("5", func(b *testing.B) { x := uint32(1) for i := 0; i < b.N; i++ { x *= 5 } mulSinkU32 = x }) // 12x = 8x + 4x b.Run("12", func(b *testing.B) { x := uint32(1) for i := 0; i < b.N; i++ { x *= 12 } mulSinkU32 = x }) // 120x = 128x - 8x b.Run("120", func(b *testing.B) { x := uint32(1) for i := 0; i < b.N; i++ { x *= 120 } mulSinkU32 = x }) // 65537x = 65536x + x b.Run("65537", func(b *testing.B) { x := uint32(1) for i := 0; i < b.N; i++ { x *= 65537 } mulSinkU32 = x }) // 65538x = 65536x + 2x b.Run("65538", func(b *testing.B) { x := uint32(1) for i := 0; i < b.N; i++ { x *= 65538 } mulSinkU32 = x }) } func BenchmarkMulconstU64(b *testing.B) { // 3x = 2x + x b.Run("3", func(b *testing.B) { x := uint64(1) for i := 0; i < b.N; i++ { x *= 3 } mulSinkU64 = x }) // 5x = 4x + x b.Run("5", func(b *testing.B) { x := uint64(1) for i := 0; i < b.N; i++ { x *= 5 } mulSinkU64 = x }) // 12x = 8x + 4x b.Run("12", func(b *testing.B) { x := uint64(1) for i := 0; i < b.N; i++ { x *= 12 } mulSinkU64 = x }) // 120x = 128x - 8x b.Run("120", func(b *testing.B) { x := uint64(1) for i := 0; i < b.N; i++ { x *= 120 } mulSinkU64 = x }) // 65537x = 65536x + x b.Run("65537", func(b *testing.B) { x := uint64(1) for i := 0; i < b.N; i++ { x *= 65537 } mulSinkU64 = x }) // 65538x = 65536x + 2x b.Run("65538", func(b *testing.B) { x := uint64(1) for i := 0; i < b.N; i++ { x *= 65538 } mulSinkU64 = x }) }
Upload File
Create Folder