commit | d0c9b40964f1951d2684545f1a6df64be899d26d | [log] [tgz] |
---|---|---|
author | Justin Nuß <nuss.justin@gmail.com> | Wed Sep 09 21:10:43 2015 +0200 |
committer | Brad Fitzpatrick <bradfitz@golang.org> | Sun Oct 18 17:31:52 2015 +0000 |
tree | 7bc8c71f5a37a4d5816df0948f47a4549f1d8df1 | |
parent | db2e73faeb97f39653180080b0cc4c05501cbf94 [diff] |
mime: Remove an allocation in word decoding. This fixes a TODO in (*WordDecoder).Decode by replacing a call to strings.Split with simple prefix/suffix checking and some custom slicing. Benchmark results: benchmark old ns/op new ns/op delta BenchmarkQEncodeWord-8 740 693 -6.35% BenchmarkQDecodeWord-8 1291 727 -43.69% BenchmarkQDecodeHeader-8 1194 767 -35.76% benchmark old allocs new allocs delta BenchmarkQEncodeWord-8 1 1 +0.00% BenchmarkQDecodeWord-8 3 2 -33.33% BenchmarkQDecodeHeader-8 3 2 -33.33% benchmark old bytes new bytes delta BenchmarkQEncodeWord-8 48 48 +0.00% BenchmarkQDecodeWord-8 128 48 -62.50% BenchmarkQDecodeHeader-8 128 48 -62.50% Change-Id: I2d6844c75ec2e2b79be2e49b7fc4ca320b7e84e5 Reviewed-on: https://go-review.googlesource.com/14432 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
For documentation about how to install and use Go, visit https://golang.org/ or load doc/install-source.html in your web browser.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Go is the work of hundreds of contributors. We appreciate your help!
To contribute, please read the contribution guidelines: https://golang.org/doc/contribute.html
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
If you have just untarred a binary Go distribution, you need to set the environment variable $GOROOT to the full path of the go directory (the one containing this file). You can omit the variable if you unpack it into /usr/local/go, or if you rebuild from sources by running all.bash (see doc/install-source.html). You should also add the Go binary directory $GOROOT/bin to your shell's path.
For example, if you extracted the tar file into $HOME/go, you might put the following in your .profile:
export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin
See https://golang.org/doc/install or doc/install.html for more details.