9 Commits

Author SHA1 Message Date
David Peixotto
081a80f2b5
Fix build issues with libc mem* benchmarks (#115982)
Fix a few issues found when trying to build the benchmark:

Errors

1. Unable to find include "src/__support/macros/config.h" in
LibcMemoryBenchmarkMain.cpp

Warnings

2. Unused variable warning `Index` in MemorySizeDistributions.cpp
3. Fix deprecation warning for const-ref version of `DoNotOptimize`.
warning: 'DoNotOptimize<void *>' is deprecated: The const-ref version of
this method can permit undesired compiler optimizations in benchmarks
2024-11-14 11:10:11 -08:00
Youngsuk Kim
c3d78a7af8 [libc][benchmarks] Tidy uses of raw_string_ostream (NFC)
As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly

( 65b13610a5226b84889b923bae884ba395ad084d for further reference )

Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
2024-09-17 10:25:18 -05:00
Guillaume Chatelet
13744e3d73 [libc][benchmark] add memmove to size distribution, also update other distributions
Differential Revision: https://reviews.llvm.org/D113260
2021-11-17 09:22:05 +00:00
Guillaume Chatelet
d3c70d9f77 [libc] Simplify implementation of benchmarks
This also allows to run the distribution benchmarks in other frameworks
like the Google Benchmark facility.
2021-07-28 15:04:19 +00:00
Guillaume Chatelet
8724a7ec11 [libc] update benchmark distributions
All distributions (expect D) have been updated using 7 days worth of data.
Distributions are smoother.
This patch also moves data from header file to individual csv file. It
helps the editor and allows easier export/plotting of the data.

Differential Revision: https://reviews.llvm.org/D105766
2021-07-13 09:59:25 +00:00
Guillaume Chatelet
74916008a8 Fix errors in distributions 2021-02-11 21:53:50 +00:00
Guillaume Chatelet
deae7e982a [libc] revamp memory function benchmark
The benchmarking infrastructure can now run in two modes:
 - Sweep Mode: which generates a ramp of size values (same as before),
 - Distribution Mode: allows the user to select a distribution for the size paramater that is representative from production.

The analysis tool has also been updated to handle both modes.

Differential Revision: https://reviews.llvm.org/D93210
2020-12-17 13:23:33 +00:00
Guillaume Chatelet
d899f9970e Fix case mismatch between definition and declaration 2020-11-25 14:23:31 +00:00
Guillaume Chatelet
c400e01c62 [libc][NFC] Add probability distributions for memory function sizes
This patch adds memory function size distributions sampled from different applications running in production.
This will be used to benchmark and compare memory functions implementations.

Differential Revision: https://reviews.llvm.org/D89401
2020-10-15 08:15:58 +00:00