You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version devel +3e9264c Tue Apr 19 09:21:57 2016 +0000 linux/ppc64le
What operating system and processor architecture are you using (go env)?
./go env
GOARCH="ppc64le"
GOBIN=""
GOEXE=""
GOHOSTARCH="ppc64le"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/home/boger/golang/md5/go"
GOTOOLDIR="/home/boger/golang/md5/go/pkg/tool/linux_ppc64le"
CC="gcc"
GOGCCFLAGS="-fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build014718722=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
No error, just improving the performance of the md5 block function when used on ppc64le.
What did you expect to see?
Better performance.
What did you see instead?
Performance with opportunities for improvement.
I have a change to improve the performance of the crypto/md5 block function when built and run on ppc64le. This change provides an improvement of 3-4.76X when using golang with the enhanced implementation of this function.
This is only being done for ppc64le and not ppc64 because:
The implementation for big endian uses byte reverse indexed instructions which are not correctly supported by the plan9 assembler for ppc64.
Performance on ppc64 is not as important as for ppc64le, especially since ppc64 still does not support external linking and therefore can't be used to build production applications.
The text was updated successfully, but these errors were encountered:
This change improves the performance of the block
function used within crypto/md5 on ppc64le. The following
improvement was seen:
BenchmarkHash8Bytes 8.39 26.04 3.10x
BenchmarkHash1K 99.41 407.84 4.10x
BenchmarkHash8K 108.87 460.00 4.23x
BenchmarkHash8BytesUnaligned 8.39 25.80 3.08x
BenchmarkHash1KUnaligned 89.94 407.81 4.53x
BenchmarkHash8KUnaligned 96.57 459.22 4.76x
Fixesgolang#15385
Change-Id: I8af5af089cc3e3740c33c662003d104de5fe1d1b
Reviewed-on: https://go-review.googlesource.com/22294
Run-TryBot: Michael Munday <munday@ca.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Please answer these questions before submitting your issue. Thanks!
go version
)?go version devel +3e9264c Tue Apr 19 09:21:57 2016 +0000 linux/ppc64le
go env
)?./go env
GOARCH="ppc64le"
GOBIN=""
GOEXE=""
GOHOSTARCH="ppc64le"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/home/boger/golang/md5/go"
GOTOOLDIR="/home/boger/golang/md5/go/pkg/tool/linux_ppc64le"
CC="gcc"
GOGCCFLAGS="-fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build014718722=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
No error, just improving the performance of the md5 block function when used on ppc64le.
Better performance.
Performance with opportunities for improvement.
I have a change to improve the performance of the crypto/md5 block function when built and run on ppc64le. This change provides an improvement of 3-4.76X when using golang with the enhanced implementation of this function.
This is only being done for ppc64le and not ppc64 because:
The text was updated successfully, but these errors were encountered: