Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated Themis Core benchmarks #580

Merged
merged 6 commits into from
Jan 30, 2020
Merged

Commits on Jan 27, 2020

  1. Themis Core benchmarks

    Let's add some reproducible, verifiable, and automatable benchmarks for
    Themis performance. We are using Criterion.rs -- a framework in Rust --
    but since C is easily callable from Rust, it's not much an issue to use
    that framework for accurately benchmarking C code. And I don't have to
    reinvent the wheel and build a benchmarking harness myself as it is
    usually done in C/C++ world.
    
    Currently we cover Secure Cell in Seal mode with master key. More
    benches will come in later, this is only an example and a primer.
    We exercise both encryption and decryption code paths. The data does not
    really matter so we use whatever is easy to get. Message size comparison
    confirms that encryption and decryption have roughly the same cost and
    indeed have linear complexity.
    ilammy committed Jan 27, 2020
    Configuration menu
    Copy the full SHA
    69baacd View commit details
    Browse the repository at this point in the history
  2. Run benchmarks on CI

    Do this for every build, at least to check that they are still
    buildable. Also run some of them for a modest amount of time and attach
    benchmark reports to builds.
    
    It would be nice to compare base branch with PR branch to see if there
    are any changes in that. However, with current approach branch switching
    is kinda involved so we'll add that later.
    ilammy committed Jan 27, 2020
    Configuration menu
    Copy the full SHA
    7efd75e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    28abeaf View commit details
    Browse the repository at this point in the history
  4. fixup! Themis Core benchmarks

    Oh yeah, one more readme file has been lost during rebases.
    ilammy committed Jan 27, 2020
    Configuration menu
    Copy the full SHA
    b0149a5 View commit details
    Browse the repository at this point in the history
  5. fixup! Themis Core benchmarks

    Yes, I'm bad at doing git, sorry.
    ilammy committed Jan 27, 2020
    Configuration menu
    Copy the full SHA
    64ac6ff View commit details
    Browse the repository at this point in the history
  6. Fix typos in benches/themis/README.md

    Co-Authored-By: vixentael <[email protected]>
    ilammy and vixentael committed Jan 27, 2020
    Configuration menu
    Copy the full SHA
    e1d075a View commit details
    Browse the repository at this point in the history