diff options
author | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-05-07 12:56:12 +0900 |
---|---|---|
committer | Fumitoshi Ukai <fumitoshi.ukai@gmail.com> | 2015-05-07 15:12:44 +0900 |
commit | b06cd9d54075f942445f0030da9993368a1f49ab (patch) | |
tree | 6a99750aeed9863b8040c6f6d3d8d2402a4c74de /worker.go | |
parent | 5ca0ecded9bc653fd9de59a2fad414d6f2da3bcf (diff) | |
download | android_build_kati-b06cd9d54075f942445f0030da9993368a1f49ab.tar.gz android_build_kati-b06cd9d54075f942445f0030da9993368a1f49ab.tar.bz2 android_build_kati-b06cd9d54075f942445f0030da9993368a1f49ab.zip |
use sync.Pool for temporal bytes.Buffer.
remove ev.Value and ev.Values
before:
scanblock: 8.22s (14.83%)
runtime.MScan_Sweep 4.99s(9.00%)
after:
scanblock: 7.42s (12.95%)
runtime.MScan_Sweep 4.57s(7.98%)
Diffstat (limited to 'worker.go')
-rw-r--r-- | worker.go | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -113,7 +113,10 @@ func evalCmd(ev *Evaluator, r runner, s string) []runner { if err != nil { panic(fmt.Errorf("parse cmd %q: %v", r.cmd, err)) } - cmds := string(ev.Value(expr)) + buf := newBuf() + expr.Eval(buf, ev) + cmds := buf.String() + freeBuf(buf) var runners []runner for _, cmd := range strings.Split(cmds, "\n") { if len(runners) > 0 && strings.HasSuffix(runners[len(runners)-1].cmd, "\\") { |