Wiki

Clone wiki

benchmarker.py / Home

How to Contribute

Please feel free contribute patches through http://codereview.appspot.com/. Once you have had several patches successfully accepted, please contact me for the commit bit.

How to Use Benchmarker.py

ln [2]: import bench

In [3]: import bench.benchmarker

In [4]: from bench.benchmarker import benchmark

In [5]: @benchmark()
   ...: def foo():
   ...:     for i in range(100):
   ...:         pass
   ...:     
   ...:     

In [6]: foo()

In [7]: bench.benchmarker.print_stats()
         100 function calls in 0.005 CPU seconds

   Random listing order was used

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        0    0.000             0.000          profile:0(profiler)
      100    0.005    0.000    0.005    0.000 <ipython console>:1(foo)

Tutorials

The FirstTutorial on using benchmarker.py for your project, in which a very simple example is given, with unit test integration and printing stats on the console.

The SecondTutorial on using benchmarker.py with a unit test framework and a more complex project layout, with saving of statistics to disk.

The ThirdTutorial on setting up a unit test framework for a project with automated archiving of a statistics history and a first look at revision control system integration.

The FourthTutorial which is a walkthrough of setting up the demonstration project in CodeSpeed and submitting the tutorial data.

List of Information Pages

How the StatsArchiveLayout lays out stuff on disk

Under Construction

General information on setting up and tweaking automatic submission of benchmark statistics to a Codespeed server

A discussion on GettingTheMostOutOfBenchmarking on examining how to get the most useful information out of benchmarker.py, a discussion of what is being measured and how to make sense of that information.

Wiki features

This wiki uses the Creole syntax, and is fully compatible with the 1.0 specification.

Updated