Skip to content

ChrisCummins/srtime

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

A benchmarking timer

Build Status Coverage Status

The number of "moving parts" in a modern software stack means that program execution time is non-deterministic. As a result, performance evaluation should take a statistically rigorous approach, using the results of multiple iterations to reduce the impact of outliers.

This is a utility for adding statistical rigour to your program performance evaluations. It repeatedly executes a program for a set amount of time, then reports mean, lower and upper confidence values.

Here's how you get started:

$ srtime ./my_benchmark
95% confidence values from 37 iterations:
103.665 103.699 103.733

Features

  • Millisecond precision timing of programs.
  • User defined amount of time to collect results for (e.g. 60 seconds), or a minimum number of iterations to perform (e.g. 100).
  • Results can be displayed graphically using the -g flag.
  • User defined confidence intervals, output precision, and output format.
  • Can act as a filter for timing critical sections of a program based on its output.
  • Supports flushing the host system caches before every invocation of the target program.

For a list of all of the program features, see srtime --help.

Installation

Install python >= 2.6, and the python-setuptools package. Then, from this directory, run:

sudo python setup.py install

Contribute

Patches welcome!

Support

If you are having issues, please get in touch: chrisc.101@gmail.com.

About

A statistically rigorous time(1) replacement

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages