HomeFreeBSD

lib/libc/amd64/string/strlen.S: add amd64 baseline kernel

Description

lib/libc/amd64/string/strlen.S: add amd64 baseline kernel

This performs very well. x86-64-v3 and x86-64-v4 kernels were written,
too, but performed worse than the baseline kernel on short strings.
These may be added at a future point in time if the performance issues
can be fixed.

os: FreeBSD
arch: amd64
cpu: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz

│ strlen_scalar.out │          strlen_baseline.out          │
│        B/s        │     B/s       vs base                 │

Short 1.667Gi ± 1% 2.676Gi ± 1% +60.55% (p=0.000 n=20)
Mid 5.459Gi ± 1% 8.756Gi ± 1% +60.39% (p=0.000 n=20)
Long 15.34Gi ± 0% 52.27Gi ± 0% +240.64% (p=0.000 n=20)
geomean 5.188Gi 10.70Gi +106.24%

Sponsored by: The FreeBSD Foundation
Approved by: kib
Reviewed by: mjg jrtc27
Differential Revision: https://reviews.freebsd.org/D40693

Details

Provenance
fuzAuthored on Aug 3 2023, 10:48 PM
Reviewer
mjg
Differential Revision
D40693: lib/libc/amd64: add archlevel-based simd dispatch framework
Parents
rGad2fac552c3f: lib/libc/amd64: add archlevel-based simd dispatch framework
Branches
Unknown
Tags
Unknown