]> Cypherpunks repositories - gostls13.git/commit
runtime: improve memclr on ppc64x
authorLynn Boger <laboger@linux.vnet.ibm.com>
Tue, 12 Apr 2022 14:37:31 +0000 (09:37 -0500)
committerLynn Boger <laboger@linux.vnet.ibm.com>
Mon, 18 Apr 2022 12:04:50 +0000 (12:04 +0000)
commit91b9915d3f6f8cd2e9e9fda63f67772803adfa03
tree8f8517518f5561b9838f1fdc0e92ada70711a285
parent740a490f71d026bb7d2d13cb8fa2d6d6e0572b70
runtime: improve memclr on ppc64x

This improves performance for memclr for sizes >= 64 and < 512 by
unrolling the loop to clear 64 bytes at a time, whereas before it was
doing 32 bytes.

On a power9, the improvement is:

Memclr/64       6.07ns ± 0%    5.17ns ± 0%  -14.86%  (p=1.000 n=1+1)
Memclr/256      11.8ns ± 0%     8.3ns ± 0%  -30.10%  (p=1.000 n=1+1)

GoMemclr/64     5.58ns ± 0%    5.02ns ± 0%  -10.04%  (p=1.000 n=1+1)
GoMemclr/256    12.0ns ± 0%     8.8ns ± 0%  -26.62%  (p=1.000 n=1+1)

Change-Id: I929389ae9e50128cba81e0c412e7ba431da7facc
Reviewed-on: https://go-review.googlesource.com/c/go/+/399895
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/runtime/memclr_ppc64x.s