diff options
-rw-r--r-- | llgo/utils/benchcomp/main.go | 31 |
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]) |