https://www.liblfds.org/mediawiki/index.php?title=r7.1.0:Building_Guide_(benchmarking)&feed=atom&action=historyr7.1.0:Building Guide (benchmarking) - Revision history2024-03-29T15:52:33ZRevision history for this page on the wikiMediaWiki 1.36.0https://www.liblfds.org/mediawiki/index.php?title=r7.1.0:Building_Guide_(benchmarking)&diff=852&oldid=prevAdmin at 10:57, 26 May 20162016-05-26T10:57:12Z<p></p>
<p><b>New page</b></p><div>{{DISPLAYTITLE:Building Guide (benchmarking)}}<br />
==Introducton==<br />
Benchmarking functionality is provided in the ''libbenchmark'' library, which provides a small and simple API, so it can be used on arbitrary platforms. The ''libbenchmark'' library depends on ''liblfds'' itself and also on a third library, ''libshared''. Finally, a convenience thin command line veneer, ''benchmark'', is provided, which is used from the command line to run the benchmark suite and see the results.<br />
<br />
The benchmark currently contains one benchmark each for the btree, the freelist and the unbounded, many producer, many consumer queue. Also provided are implementations of these data structures using a range of normal, OS or compiler provided locking mechanisms, such as Windows critical sections, Windows and pthread mutexes, pthread spinlocks, etc. The same benchmarks are run with ''liblfds'' and its lock-free data structures and then with all of the locking versions of the same data structures.<br />
<br />
If ''libbenchmark'' is being used directly, results are provided and queries via a results API. If ''benchmark'' is being used, results display to an abstraction which emits strings to the caller - on Linux and Windows, this emits to stdout. Additionally, the ''libbenchmark'' library (and so the ''benchmark'' veneer) can emit the results in the form of gnuplots.<br />
<br />
Building and usage guides exist for all these components.<br />
<br />
* [[r7.1.0:Building Guide (liblfds)|Building Guide (liblfds)]]<br />
* [[r7.1.0:Building Guide (libshared)|Building Guide (libshared)]]<br />
* [[r7.1.0:Building Guide (libbenchmark)|Building Guide (libbenchmark)]]<br />
* [[r7.1.0:Building Guide (benchmark)|Building Guide (benchmark)]]<br />
<br />
==See Also==<br />
* [[r7.1.0:Release_7.1.0_Documentation|Release 7.1.0 Documentation]]</div>Admin