Skip to content

Instantly share code, notes, and snippets.

@bradleyfalzon
Created July 10, 2017 23:33
Show Gist options
  • Save bradleyfalzon/3be20a61b0567d23e0d7dd027a4ea512 to your computer and use it in GitHub Desktop.
Save bradleyfalzon/3be20a61b0567d23e0d7dd027a4ea512 to your computer and use it in GitHub Desktop.
[bradleyf@Bradleys-Work-Mac issue-20976]$ cat profiling.go
package profiling
import "testing"
func div(a, b int) int {
return int(float64(a) / float64(b))
}
var s int
func BenchmarkDiv(b *testing.B) {
for i := 0; i < b.N; i++ {
s = div(2, 3)
}
}
[bradleyf@Bradleys-Work-Mac issue-20976]$ go test -bench=Div -gcflags "-S"
# github.com/bradleyfalzon/test/issue-20976
"".div t=1 size=41 args=0x18 locals=0x0
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:5) TEXT "".div(SB), $0-24
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:5) FUNCDATA $0, gclocals·54241e171da8af6ae173d69da0236748(SB)
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:5) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) MOVQ "".a+8(FP), AX
0x0005 00005 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) XORPS X0, X0
0x0008 00008 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) CVTSQ2SD AX, X0
0x000d 00013 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) MOVQ "".b+16(FP), AX
0x0012 00018 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) XORPS X1, X1
0x0015 00021 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) CVTSQ2SD AX, X1
0x001a 00026 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) DIVSD X1, X0
0x001e 00030 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) CVTTSD2SQ X0, AX
0x0023 00035 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) MOVQ AX, "".~r2+24(FP)
0x0028 00040 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:6) RET
0x0000 48 8b 44 24 08 0f 57 c0 f2 48 0f 2a c0 48 8b 44 H.D$..W..H.*.H.D
0x0010 24 10 0f 57 c9 f2 48 0f 2a c8 f2 0f 5e c1 f2 48 $..W..H.*...^..H
0x0020 0f 2c c0 48 89 44 24 18 c3 .,.H.D$..
"".BenchmarkDiv t=1 size=81 args=0x8 locals=0x0
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:11) TEXT "".BenchmarkDiv(SB), $0-8
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:11) FUNCDATA $0, gclocals·a36216b97439c93dafebe03e7f0808b5(SB)
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:11) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:12) MOVQ "".b+8(FP), AX
0x0005 00005 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:12) MOVQ $0, CX
0x0007 00007 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:12) MOVQ 200(AX), DX
0x000e 00014 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:12) CMPQ CX, DX
0x0011 00017 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:12) JGE $0, 80
0x0013 00019 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:13) MOVQ $2, DX
0x001a 00026 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:13) XORPS X0, X0
0x001d 00029 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:13) CVTSQ2SD DX, X0
0x0022 00034 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:13) MOVQ $3, BX
0x0029 00041 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:13) XORPS X1, X1
0x002c 00044 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:13) CVTSQ2SD BX, X1
0x0031 00049 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:13) DIVSD X1, X0
0x0035 00053 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:13) CVTTSD2SQ X0, SI
0x003a 00058 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:13) MOVQ SI, "".s(SB)
0x0041 00065 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:12) INCQ CX
0x0044 00068 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:12) MOVQ 200(AX), DX
0x004b 00075 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:12) CMPQ CX, DX
0x004e 00078 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:12) JLT $0, 19
0x0050 00080 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:15) RET
0x0000 48 8b 44 24 08 31 c9 48 8b 90 c8 00 00 00 48 39 H.D$.1.H......H9
0x0010 d1 7d 3d 48 c7 c2 02 00 00 00 0f 57 c0 f2 48 0f .}=H.......W..H.
0x0020 2a c2 48 c7 c3 03 00 00 00 0f 57 c9 f2 48 0f 2a *.H.......W..H.*
0x0030 cb f2 0f 5e c1 f2 48 0f 2c f0 48 89 35 00 00 00 ...^..H.,.H.5...
0x0040 00 48 ff c1 48 8b 90 c8 00 00 00 48 39 d1 7c c3 .H..H......H9.|.
0x0050 c3 .
rel 61+4 t=15 "".s+0
"".init t=1 size=91 args=0x0 locals=0x8
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) TEXT "".init(SB), $8-0
0x0000 00000 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) MOVQ (TLS), CX
0x0009 00009 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) CMPQ SP, 16(CX)
0x000d 00013 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) JLS 84
0x000f 00015 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) SUBQ $8, SP
0x0013 00019 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) MOVQ BP, (SP)
0x0017 00023 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) LEAQ (SP), BP
0x001b 00027 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) FUNCDATA $0, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) FUNCDATA $1, gclocals·33cdeccccebe80329f1fdbee7f5874cb(SB)
0x001b 00027 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) MOVBLZX "".initdone·(SB), AX
0x0022 00034 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) CMPB AL, $1
0x0024 00036 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) JLS $0, 47
0x0026 00038 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) MOVQ (SP), BP
0x002a 00042 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) ADDQ $8, SP
0x002e 00046 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) RET
0x002f 00047 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) JNE $0, 56
0x0031 00049 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) PCDATA $0, $0
0x0031 00049 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) CALL runtime.throwinit(SB)
0x0036 00054 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) UNDEF
0x0038 00056 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) MOVB $1, "".initdone·(SB)
0x003f 00063 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) PCDATA $0, $0
0x003f 00063 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) CALL testing.init(SB)
0x0044 00068 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) MOVB $2, "".initdone·(SB)
0x004b 00075 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) MOVQ (SP), BP
0x004f 00079 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) ADDQ $8, SP
0x0053 00083 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) RET
0x0054 00084 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) NOP
0x0054 00084 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) PCDATA $0, $-1
0x0054 00084 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) CALL runtime.morestack_noctxt(SB)
0x0059 00089 (/Users/bradleyf/go/src/github.com/bradleyfalzon/test/issue-20976/profiling.go:16) JMP 0
0x0000 65 48 8b 0c 25 00 00 00 00 48 3b 61 10 76 45 48 eH..%....H;a.vEH
0x0010 83 ec 08 48 89 2c 24 48 8d 2c 24 0f b6 05 00 00 ...H.,$H.,$.....
0x0020 00 00 3c 01 76 09 48 8b 2c 24 48 83 c4 08 c3 75 ..<.v.H.,$H....u
0x0030 07 e8 00 00 00 00 0f 0b c6 05 00 00 00 00 01 e8 ................
0x0040 00 00 00 00 c6 05 00 00 00 00 02 48 8b 2c 24 48 ...........H.,$H
0x0050 83 c4 08 c3 e8 00 00 00 00 eb a5 ...........
rel 5+4 t=16 TLS+0
rel 30+4 t=15 "".initdone·+0
rel 50+4 t=8 runtime.throwinit+0
rel 58+4 t=15 "".initdone·+-1
rel 64+4 t=8 testing.init+0
rel 70+4 t=15 "".initdone·+-1
rel 85+4 t=8 runtime.morestack_noctxt+0
gclocals·33cdeccccebe80329f1fdbee7f5874cb t=8 dupok size=8
0x0000 01 00 00 00 00 00 00 00 ........
gclocals·54241e171da8af6ae173d69da0236748 t=8 dupok size=9
0x0000 01 00 00 00 03 00 00 00 00 .........
go.info."".div t=45 size=73
0x0000 02 22 22 2e 64 69 76 00 00 00 00 00 00 00 00 00 ."".div.........
0x0010 00 00 00 00 00 00 00 00 01 05 61 00 01 9c 00 00 ..........a.....
0x0020 00 00 00 00 00 00 05 62 00 04 9c 11 08 22 00 00 .......b....."..
0x0030 00 00 00 00 00 00 05 7e 72 32 00 04 9c 11 10 22 .......~r2....."
0x0040 00 00 00 00 00 00 00 00 00 .........
rel 8+8 t=1 "".div+0
rel 16+8 t=1 "".div+41
rel 30+8 t=28 go.info.int+0
rel 46+8 t=28 go.info.int+0
rel 64+8 t=28 go.info.int+0
gclocals·a36216b97439c93dafebe03e7f0808b5 t=8 dupok size=9
0x0000 01 00 00 00 01 00 00 00 01 .........
go.info."".BenchmarkDiv t=45 size=48
0x0000 02 22 22 2e 42 65 6e 63 68 6d 61 72 6b 44 69 76 ."".BenchmarkDiv
0x0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0x0020 00 01 05 62 00 01 9c 00 00 00 00 00 00 00 00 00 ...b............
rel 17+8 t=1 "".BenchmarkDiv+0
rel 25+8 t=1 "".BenchmarkDiv+81
rel 39+8 t=28 go.info.*testing.B+0
go.info."".init t=45 size=27
0x0000 02 22 22 2e 69 6e 69 74 00 00 00 00 00 00 00 00 ."".init........
0x0010 00 00 00 00 00 00 00 00 00 01 00 ...........
rel 9+8 t=1 "".init+0
rel 17+8 t=1 "".init+91
"".s t=32 size=8
"".initdone· t=32 size=1
type..importpath.testing. t=8 dupok size=10
0x0000 00 00 07 74 65 73 74 69 6e 67 ...testing
? github.com/bradleyfalzon/test/issue-20976 [no test files]
[bradleyf@Bradleys-Work-Mac issue-20976]$ system_profiler SPSoftwareDataType
Software:
System Software Overview:
System Version: macOS 10.12.5 (16F73)
Kernel Version: Darwin 16.6.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: Bradley’s Work Mac
User Name: Bradley Falzon (bradleyf)
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
Time since boot: 33 days 21:13
[bradleyf@Bradleys-Work-Mac issue-20976]$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment