aboutsummaryrefslogtreecommitdiff
path: root/src/database/sql
diff options
context:
space:
mode:
authorJoel Sing <joel@sing.id.au>2025-02-08 01:03:23 +1100
committerJoel Sing <joel@sing.id.au>2025-08-06 06:23:02 -0700
commit3406a617d9643902e932ca99c6f276fa7b19e030 (patch)
tree6cca19be9e00c0a288ae46060c98809db484e33f /src/database/sql
parent75ea2d05c01903a69dbdcd15e64b934da73c84ea (diff)
downloadgo-3406a617d9643902e932ca99c6f276fa7b19e030.tar.xz
internal/bytealg: vector implementation of indexbyte for riscv64
Provide a vector implementation of indexbyte for riscv64, which is used when compiled with the rva23u64 profile, or when vector is detected to be available. Inputs that are smaller than 24 bytes will continue to use the non-vector path. On a Banana Pi F3, with GORISCV64=rva23u64: │ indexbyte.1 │ indexbyte.2 │ │ sec/op │ sec/op vs base │ IndexByte/10-8 52.68n ± 0% 47.26n ± 0% -10.30% (p=0.000 n=10) IndexByte/32-8 68.62n ± 0% 47.02n ± 0% -31.49% (p=0.000 n=10) IndexByte/4K-8 2217.0n ± 0% 420.4n ± 0% -81.04% (p=0.000 n=10) IndexByte/4M-8 2624.4µ ± 0% 767.5µ ± 0% -70.75% (p=0.000 n=10) IndexByte/64M-8 68.08m ± 10% 47.84m ± 45% -29.73% (p=0.004 n=10) geomean 17.03µ 8.073µ -52.59% │ indexbyte.1 │ indexbyte.2 │ │ B/s │ B/s vs base │ IndexByte/10-8 181.0Mi ± 0% 201.8Mi ± 0% +11.48% (p=0.000 n=10) IndexByte/32-8 444.7Mi ± 0% 649.1Mi ± 0% +45.97% (p=0.000 n=10) IndexByte/4K-8 1.721Gi ± 0% 9.076Gi ± 0% +427.51% (p=0.000 n=10) IndexByte/4M-8 1.488Gi ± 0% 5.089Gi ± 0% +241.93% (p=0.000 n=10) IndexByte/64M-8 940.3Mi ± 9% 1337.8Mi ± 31% +42.27% (p=0.004 n=10) geomean 727.1Mi 1.498Gi +110.94% Change-Id: If7b0dbef38d76fa7a2021e4ecaed668a1d4b9783 Reviewed-on: https://go-review.googlesource.com/c/go/+/648856 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Meng Zhuo <mengzhuo1203@gmail.com> Reviewed-by: Mark Freeman <markfreeman@google.com> Reviewed-by: Mark Ryan <markdryan@rivosinc.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Diffstat (limited to 'src/database/sql')
0 files changed, 0 insertions, 0 deletions