[libc-commits] [PATCH] D129808: [libc] add unsafe mode to strlen
Michael Jones via Phabricator via libc-commits
libc-commits at lists.llvm.org
Wed Nov 30 13:57:14 PST 2022
michaelrj added a comment.
Re tschuett: Performance numbers here: https://quick-bench.com/q/Z7wq6I3K6xUIeAIogIpHpPgBwSw but the TL;DR is that once strings get larger than about 32 bytes it's faster to read a block at a time, and if the string can't be assumed to be word-aligned then it's faster to work with 32 bits (on x64 machines). I've adjusted the code to account for this.
Re nickdesaulniers: I think strchr and strrchr will have to wait for a followup patch, this patch is getting rather large as it is. As for slower by default, yes but it's also less likely to cause issues (e.g. with sanitizers, memory tagging, etc.).
Re sivachandra: I've set up the cmake to enforce wide strlen NAND sanitizers.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D129808/new/
https://reviews.llvm.org/D129808
More information about the libc-commits
mailing list