]> Cypherpunks repositories - gostls13.git/commit
runtime: use duff zero and copy to initialize memory
authorKeith Randall <khr@golang.org>
Wed, 7 May 2014 20:17:10 +0000 (13:17 -0700)
committerKeith Randall <khr@golang.org>
Wed, 7 May 2014 20:17:10 +0000 (13:17 -0700)
commit51b72d94debdab3e72ce4236e03d8933d217e9b3
tree680672b9dde8178e670294c00d877d4d403354b4
parentce6b75dab634e272e0449f85853fca7f1850da8b
runtime: use duff zero and copy to initialize memory

benchmark                 old ns/op     new ns/op     delta
BenchmarkCopyFat512       1307          329           -74.83%
BenchmarkCopyFat256       666           169           -74.62%
BenchmarkCopyFat1024      2617          671           -74.36%
BenchmarkCopyFat128       343           89.0          -74.05%
BenchmarkCopyFat64        182           48.9          -73.13%
BenchmarkCopyFat32        103           28.8          -72.04%
BenchmarkClearFat128      102           46.6          -54.31%
BenchmarkClearFat512      344           167           -51.45%
BenchmarkClearFat64       50.5          26.5          -47.52%
BenchmarkClearFat256      147           87.2          -40.68%
BenchmarkClearFat32       22.7          16.4          -27.75%
BenchmarkClearFat1024     511           662           +29.55%

Fixes #7624

LGTM=rsc
R=golang-codereviews, khr, bradfitz, josharian, dave, rsc
CC=golang-codereviews
https://golang.org/cl/92760044
src/cmd/5g/cgen.c
src/cmd/5g/ggen.c
src/cmd/5g/peep.c
src/cmd/5g/prog.c
src/cmd/5g/reg.c
src/cmd/5l/5.out.h
src/liblink/asm5.c
src/liblink/obj5.c
src/pkg/runtime/asm_arm.s
src/pkg/runtime/memmove_test.go