summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llgo/utils/benchcomp/main.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/llgo/utils/benchcomp/main.go b/llgo/utils/benchcomp/main.go
index 94acafc9db8..a050f7bdd5f 100644
--- a/llgo/utils/benchcomp/main.go
+++ b/llgo/utils/benchcomp/main.go
@@ -110,6 +110,34 @@ func benchnums(path, stat string) map[string]float64 {
return m
}
+func ninja_logs(path string) map[string]float64 {
+ m := make(map[string]float64)
+
+ fh, err := os.Open(path)
+ if err != nil {
+ panic(err.Error())
+ }
+
+ scanner := bufio.NewScanner(fh)
+ for scanner.Scan() {
+ elems := strings.Split(scanner.Text(), "\t")
+ if len(elems) < 4 {
+ continue
+ }
+ begin, err := strconv.ParseInt(elems[0], 10, 64)
+ if err != nil {
+ continue
+ }
+ end, err := strconv.ParseInt(elems[1], 10, 64)
+ if err != nil {
+ panic(err.Error())
+ }
+ m[elems[3]] = float64(end-begin)
+ }
+
+ return m
+}
+
func main() {
var cmp func(string) map[string]float64
switch os.Args[1] {
@@ -128,6 +156,9 @@ func main() {
cmp = func(path string) map[string]float64 {
return benchnums(path, "allocs/op")
}
+
+ case "ninja_logs":
+ cmp = ninja_logs
}
syms1 := cmp(os.Args[2])
OpenPOWER on IntegriCloud