diff options
author | Guillaume Chatelet <gchatelet@google.com> | 2020-01-06 13:17:04 +0100 |
---|---|---|
committer | Guillaume Chatelet <gchatelet@google.com> | 2020-01-24 11:30:58 +0100 |
commit | aba80d0734d1bc876395ad048462534618d25ca8 (patch) | |
tree | f6f4d7637824bde6677520ba1f294267694454b6 /llvm/lib/CodeGen/MachineOperand.cpp | |
parent | b9013351936d51424badfecbb3cd1e92c1209bb3 (diff) | |
download | llvm-aba80d0734d1bc876395ad048462534618d25ca8.zip llvm-aba80d0734d1bc876395ad048462534618d25ca8.tar.gz llvm-aba80d0734d1bc876395ad048462534618d25ca8.tar.bz2 |
[llvm-libc] Add memory function benchmarks
Summary:
This patch adds a benchmarking infrastructure for llvm-libc memory functions.
In a nutshell, the code can benchmark small and large buffers for the memcpy, memset and memcmp functions.
It also produces graphs of size vs latency by running targets of the form `render-libc-{memcpy|memset|memcmp}-benchmark-{small|big}`.
The configurations are provided as JSON files and the benchmark also produces a JSON file.
This file is then parsed and rendered as a PNG file via the `render.py` script (make sure to run `pip3 install matplotlib scipy numpy`).
The script can take several JSON files as input and will superimpose the curves if they are from the same host.
TODO:
- The code benchmarks whatever is available on the host but should be configured to benchmark the -to be added- llvm-libc memory functions.
- Add a README file with instructions and rationale.
- Produce scores to track the performance of the functions over time to allow for regression detection.
Reviewers: sivachandra, ckennelly
Subscribers: mgorny, MaskRay, libc-commits
Tags: #libc-project
Differential Revision: https://reviews.llvm.org/D72516
Diffstat (limited to 'llvm/lib/CodeGen/MachineOperand.cpp')
0 files changed, 0 insertions, 0 deletions