[libc-commits] [PATCH] D79443: [libc] Reorganize and clarify a few points around how the benchmarking machinery works
Eric Christopher via Phabricator via libc-commits
libc-commits at lists.llvm.org
Wed May 6 14:10:13 PDT 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rG880115e65ecd: [libc] Reorganize and clarify a few points around benchmarking (authored by echristo).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79443/new/
https://reviews.llvm.org/D79443
Files:
libc/utils/benchmarks/README.md
Index: libc/utils/benchmarks/README.md
===================================================================
--- libc/utils/benchmarks/README.md
+++ libc/utils/benchmarks/README.md
@@ -18,6 +18,7 @@
apt-get install python3-pip
pip3 install matplotlib scipy numpy
```
+You may need `python3-gtk` or similar package for displaying benchmark results.
To get good reproducibility it is important to make sure that the system runs in
`performance` mode. This is achieved by running:
@@ -38,6 +39,26 @@
make -C /tmp/build -j display-libc-memcpy-benchmark-small
```
+The display target will attempt to open a window on the machine where you're
+running the benchmark. If this may not work for you then you may want `render`
+or `run` instead as detailed below.
+
+## Benchmarking targets
+
+The benchmarking process occurs in two steps:
+
+1. Benchmark the functions and produce a `json` file
+2. Display (or renders) the `json` file
+
+Targets are of the form `<action>-libc-<function>-benchmark-<configuration>`
+
+ - `action` is one of :
+ - `run`, runs the benchmark and writes the `json` file
+ - `display`, displays the graph on screen
+ - `render`, renders the graph on disk as a `png` file
+ - `function` is one of : `memcpy`, `memcmp`, `memset`
+ - `configuration` is one of : `small`, `big`
+
## Benchmarking regimes
Using a profiler to observe size distributions for calls into libc functions, it
@@ -62,22 +83,6 @@
_<sup>1</sup> - The size refers to the size of the buffers to compare and not
the number of bytes until the first difference._
-## Benchmarking targets
-
-The benchmarking process occurs in two steps:
-
-1. Benchmark the functions and produce a `json` file
-2. Display (or renders) the `json` file
-
-Targets are of the form `<action>-libc-<function>-benchmark-<configuration>`
-
- - `action` is one of :
- - `run`, runs the benchmark and writes the `json` file
- - `display`, displays the graph on screen
- - `render`, renders the graph on disk as a `png` file
- - `function` is one of : `memcpy`, `memcmp`, `memset`
- - `configuration` is one of : `small`, `big`
-
## Superposing curves
It is possible to **merge** several `json` files into a single graph. This is
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79443.262472.patch
Type: text/x-patch
Size: 2226 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20200506/d0cff12c/attachment.bin>
More information about the libc-commits
mailing list