]> Cypherpunks repositories - gostls13.git/commit
cmd/cgo: simplify a call to strip spaces
authorAgniva De Sarker <agnivade@yahoo.co.in>
Wed, 27 Sep 2017 18:00:43 +0000 (23:30 +0530)
committerIan Lance Taylor <iant@golang.org>
Wed, 27 Sep 2017 19:52:55 +0000 (19:52 +0000)
commitecff94311d793dcb4c590690473aa1421f549f03
treeccc5b379cd5f98d384df979b010646a8a859f4c0
parentd94078f04017533a89661514035d565261240ebb
cmd/cgo: simplify a call to strip spaces

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: Ian Lance Taylor <iant@golang.org>
src/cmd/cgo/gcc.go