diff options
author | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-04-18 00:11:05 +0900 |
---|---|---|
committer | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-04-18 00:12:12 +0900 |
commit | 00178d1c2dd6e8d426cc4c7425a5d43273514d2b (patch) | |
tree | fa5f20010036b8effde33b4c64e0d807a627464d /exec.go | |
parent | 2ffad63581a5ab18bdb0c00b3bc84895d3d58713 (diff) | |
download | kati-00178d1c2dd6e8d426cc4c7425a5d43273514d2b.tar.gz |
minor performance tuning
before:
% ./run_integration_test.rb android
Running make for android... 5.76 secs
Running kati for android... 17.29 secs
android: OK
PASS!
after:
% ./run_integration_test.rb android
Running make for android... 5.83 secs
Running kati for android... 14.55 secs
android: OK
PASS!
Diffstat (limited to 'exec.go')
-rw-r--r-- | exec.go | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -190,7 +190,12 @@ func evalCmd(ev *Evaluator, r runner, s string) []runner { // fast path return []runner{r} } - cmds := ev.evalExpr(r.cmd) + // TODO(ukai): parse once more earlier? + expr, _, err := parseExpr([]byte(r.cmd), nil) + if err != nil { + panic(fmt.Errorf("parse cmd %q: %v", r.cmd, err)) + } + cmds := string(ev.Value(expr)) var runners []runner for _, cmd := range strings.Split(cmds, "\n") { if len(runners) > 0 && strings.HasSuffix(runners[0].cmd, "\\") { |