• Agniva De Sarker's avatar
    cmd/cgo: simplify a call to strip spaces · ecff9431
    Agniva De Sarker authored
    Combined the Split and Join call with a Replace. This simplifies
    the code as well as makes it fast.
    
    Micro-benchmarks show good improvements -
    
    func BenchmarkJoinSplit(b *testing.B) {
      for n := 0; n < b.N; n++ {
        strings.Join(strings.Split("this string has some spaces", " "), "")
      }
    }
    
    func BenchmarkReplace(b *testing.B) {
      for n := 0; n < b.N; n++ {
        strings.Replace("this string has some spaces", " ", "", -1)
      }
    }
    
    name         old time/op    new time/op    delta
    JoinSplit-4     308ns ± 2%     192ns ± 4%  -37.60%  (p=0.008 n=5+5)
    
    name         old alloc/op   new alloc/op   delta
    JoinSplit-4      144B ± 0%       64B ± 0%  -55.56%  (p=0.008 n=5+5)
    
    name         old allocs/op  new allocs/op  delta
    JoinSplit-4      3.00 ± 0%      2.00 ± 0%  -33.33%  (p=0.008 n=5+5)
    
    Change-Id: I1dc32105ae7a0be5a43ab0bedde992cefbed5d7d
    Reviewed-on: https://go-review.googlesource.com/66590
    Run-TryBot: Ian Lance Taylor <iant@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    ecff9431
Name
Last commit
Last update
..
ast.go Loading commit data...
doc.go Loading commit data...
gcc.go Loading commit data...
godefs.go Loading commit data...
main.go Loading commit data...
out.go Loading commit data...
util.go Loading commit data...