[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
Tue May 5 13:32:15 PDT 2020


echristo created this revision.
echristo added a reviewer: sivachandra.
Herald added subscribers: tschuett, mcrosier.
Herald added a project: libc-project.

A few documentation clarifications and moving one part of the docs around to be closer to the first mention of `display` so that it's easier to spot based on some user feedback.


Repository:
  rG LLVM Github Monorepo

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.262209.patch
Type: text/x-patch
Size: 2226 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20200505/d460a85c/attachment.bin>


More information about the libc-commits mailing list