summaryrefslogtreecommitdiff
path: root/libcxx/test/benchmarks/containers/string.bench.cpp
AgeCommit message (Collapse)Author
2025-09-25[libc++] Fold __search_substring into _Traits::find in case the second ↵Nikolas Klauser
string has length 1 (#160076) Apple M4: ``` Benchmark Baseline Candidate Difference % Difference ----------------------------------------------------------- ---------- ----------- ------------ -------------- BM_string_literal/1024 16.99 16.79 -0.21 -1.21 BM_string_literal/128 3.44 3.34 -0.10 -2.88 BM_string_literal/16 1.80 1.69 -0.11 -5.93 BM_string_literal/2048 38.44 38.38 -0.07 -0.17 BM_string_literal/256 5.77 5.65 -0.12 -2.02 BM_string_literal/32 2.03 1.92 -0.11 -5.44 BM_string_literal/4096 73.92 73.74 -0.18 -0.25 BM_string_literal/512 9.49 9.41 -0.08 -0.84 BM_string_literal/64 2.59 2.45 -0.14 -5.38 BM_string_literal/8 1.79 1.69 -0.11 -5.90 BM_string_literal/8192 132.09 131.81 -0.28 -0.21 ```
2025-09-16[libc++] Replace __resize_default_init with resize_and_overwrite (#157121)Nikolas Klauser
Since `__resize_default_init` is only ever used inside the dylib we can remove the libc++-internal API and switch to the public one. This patch inlines a bunch of functions that aren't required anymore and simplifies the code that way.
2025-01-30[libc++] Refactor the sequence container benchmarks (#119763)Louis Dionne
Rewrite the sequence container benchmarks to only rely on the actual operations specified in SequenceContainer requirements and add benchmarks for std::list, which is also considered a sequence container. One of the major goals of this refactoring is also to make these container benchmarks run faster so that they can be run more frequently. The existing benchmarks have the significant problem that they take so long to run that they must basically be run overnight. This patch reduces the size of inputs such that the rewritten benchmarks each take at most a minute to run. This patch doesn't touch the string benchmarks, which were not using the generic container benchmark functions previously.
2025-01-16[libc++] Remove string benchmark for internal functionLouis Dionne
We strive to keep our benchmarks portable, so we should only benchmark standard APIs.
2024-12-12[libc++] Slight reorganization of the benchmarks (#119625)Louis Dionne
Move various container benchmarks to the same subdirectory, and regroup some format-related benchmarks.