Skip to content
Paul Colby edited this page Dec 8, 2013 · 15 revisions

Disclaimer

The benchmarks on this page are not intended to be definitive. They are intended to show the order-of-magnitude of the overhead associated with using PMDA++ over PCP's C API. If performance is absolutely critical for you (you're working with very high-speed sampling of hardware devices, or monitoring highly constrained devices?) then you should perform your own benchmarking on the relevant device(s) / platform(s).

Methodology

The benchmarking was performed by a basic benchmark.sh script, which works as follows:

  1. Start a pmie instance to sample a specified metric (such as trivial.time) from the PMDA-under-test, at a specified rate (such as once per millisecond, or 1KHz).
  2. Use pmval to fetch the PMDA's user or system time over a specified period (such as 10 seconds).
  3. Stop the pmie instance.

The above process is executed multiple times for both the C and C++ versions of the PMDA being tested to compare the overhead of the C++ wrapper over the underlying C API.

Note, depending on your version of PCP, and its access controls, you may need to run the benchmark script as root, or some other user with permission to monitor the PMDA-under-test via the proc PMDA.

Results

Coming soon...

Clone this wiki locally