-
Notifications
You must be signed in to change notification settings - Fork 4
/
main.go
49 lines (45 loc) · 1 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package main
import (
"github.com/cristalhq/acmd"
)
const version = "v0.0.0"
func main() {
r := acmd.RunnerOf(cmds, acmd.Config{
Version: version,
})
if err := r.Run(); err != nil {
r.Exit(err)
}
}
var cmds = []acmd.Command{
{
Name: "almostInlined",
Alias: "inl",
Description: "find functions that cross inlining threshold just barely",
Exec: &almostInlinedRunner{},
},
{
Name: "escapedVariables",
Alias: "esc",
Description: "find variables that are escaped to the heap",
Exec: &escapeAnalysisRunner{},
},
{
Name: "boundChecks",
Alias: "bce",
Description: "find slice/array that has bound check",
Exec: &boundCheckRunner{},
},
{
Name: "funcSize",
Alias: "fsize",
Description: "list function machine code sizes in bytes",
Exec: &funcSizeRunner{},
},
{
Name: "benchstat",
Alias: "bstat",
Description: "stricter benchstat with colors",
Exec: &benchstatRunner{},
},
}