This is a micro-benchmarks suite targeting evaluation of synchronization primitives used primarily in data-center application and system software by evaluating their scalability and code overhead. It contains synchronization primitives that are both independently developed and extracted from real software applications.
The software is provided under a BSD-3-Clause license
. Contributions to this
project are accepted under the same license with developer sign-off as
described in the Contributing Guidelines
.
This project contains code from other projects, the license information for which can be found in the relevant directories or files. Any contributions to third party open source projects are under the relevant license for that project or file.
The synchronization-benchmarks repository is divided up into multiple directories with the following semantics:
tools/ -- Contains support tools for the micro-benchmarks contained in benchmarks/ such as application profilers or code analyzers. In general, support code that applies to multiple benchmarks should go here.
benchmarks/ -- Broken up into sub-directories, one for each micro-benchmark. Each sub-directory should general be structured as:
ext/ -- This is a directory for third party code taken from other projects if for instance your micro-benchmark is
meant for testing example synchronization primitives for various sources. For each third party source, a sub-directory
should be created that is descriptive of the origin of the imported code and the imported code placed in that sub-directory.
All imported code needs to retain the original license and copyright information from the source location.
For more detail on how to include third party code, please consult the Contributing Guidelines
_.
Clone this repository and add the commit-msg hook from the hooks/ directory into your .git/hooks directory. To build the microbenchmarks, follow the build and run instructions in the individual test sub-directories contained in benchmarks/.
Arm welcomes any feedback on this benchmark suite. If you find that this suite lacks important
tests, please use the Github issue tracker
to log the issue and initiate a pull request with your fixes as outlined in
the Contributing Guidelines
.
Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
.. _GitHub: https://www.github.com/ARM-software/synchronization-benchmarks .. _GitHub issue tracker: https://github.com/ARM-software/synchronization-benchmarks/issues .. _license: ./LICENSE .. _Contributing Guidelines: ./contributing.rst