Git Product home page Git Product logo

synchronization-benchmarks's Introduction

Synchronization Benchmarks

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.

License

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.

Repository Contents

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:
    • / -- The root of the directory should contain a README with build instructions, and a detailed description of the test: what it is testing, how it is testing, and how to interpret the results. The root directory should also contain the build system files.
    • src/
    • include/
    • scripts/ -- Automation scripts for running and parsing the output of your micro-benchmark
  • 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.

Getting Started

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/.

Feedback and support

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.

synchronization-benchmarks's People

Contributors

agsaidi avatar chacon01 avatar geoffreyblake avatar jty2 avatar rpgolshan avatar zoybai avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.