|
Revision tags: release/13.5.0-p6, release/14.3.0-p5, release/13.5.0-p5, release/14.2.0-p7, release/14.3.0-p4, release/14.3.0-p3, release/14.2.0-p6, release/13.5.0-p4, release/13.5.0-p3, release/14.2.0-p5, release/14.3.0-p2, release/14.3.0-p1, release/14.2.0-p4, release/13.5.0-p2, release/14.3.0, release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0 |
|
| #
e09c1583 |
| 17-May-2024 |
Strahinja Stanišić <strajabot@FreeBSD.org> |
libc: scalar strlen() in RISC-V assembly
Includes a scalar implementation of strlen() for the RISC-V architecture and changes to the corresponding manpage.
Performance was benchamarked using before
libc: scalar strlen() in RISC-V assembly
Includes a scalar implementation of strlen() for the RISC-V architecture and changes to the corresponding manpage.
Performance was benchamarked using before and after: https://github.com/clausecker/strperf
os: FreeBSD arch: riscv │ strlen_baseline │ strlen_scalar │ │ sec/op │ sec/op vs base │ Short 541.2µ ± 17% 401.6µ ± 0% -25.78% (p=0.000 n=21+20) Mid 249.6µ ± 3% 191.9µ ± 0% -23.13% (p=0.000 n=21+20) Long 124.6µ ± 0% 110.7µ ± 0% -11.13% (p=0.000 n=21+20) geomean 256.3µ 204.3µ -20.26%
│ strlen_baseline │ strlen_scalar │ │ B/s │ B/s vs base │ Short 220.3Mi ± 14% 296.8Mi ± 0% +34.74% (p=0.000 n=21+20) Mid 477.6Mi ± 3% 621.3Mi ± 0% +30.09% (p=0.000 n=21+20) Long 956.9Mi ± 0% 1076.7Mi ± 0% +12.52% (p=0.000 n=21+20) geomean 465.2Mi 583.4Mi +25.40%
MFC after: 1 month MFC to: stable/15 Approved by: mhorne, markj (mentor) Reviewed by: fuz Sponsored by: Google LLC (GSoC 2024) Differential Revision: https://reviews.freebsd.org/D45693
show more ...
|