=======
CHANGES
=======


Release 1.1.0
-------------

* Enhance Benchmarker.run() to take function args.
  ::

    bm = Benchmarker()
    bm('fib(34)').run(fib, 34)   # same as .run(lambda: fib(34))

* (experimental) Enhance Benchmarker.run() to use function name as title
  if title is not specified.
  ::

    def fib34(): fib(34)
    bm = Benchmarker()
    bm.run(fib34)     # same as bm('fib34').run(fib34)

* Enhanced to support compared matrix of benchmark results.
  ::

    bm = Benchmarker(9)
    bm('fib(30)').run(fib, 30)
    bm('fib(31)').run(fib, 31)
    bm('fib(32)').run(fib, 32)
    bm.print_compared_matrix(sort=False, transpose=False)
    ## output example
    #                 utime     stime     total      real
    #fib(30)          0.440     0.000     0.440     0.449
    #fib(31)          0.720     0.000     0.720     0.722
    #fib(32)          1.180     0.000     1.180     1.197
    #--------------------------------------------------------------------------
    #                    real      [01]     [02]     [03]
    #[01] fib(30)     0.4487s        -     60.9%   166.7%
    #[02] fib(31)     0.7222s    -37.9%       -     65.7%
    #[03] fib(32)     1.1967s    -62.5%   -39.6%       - 

* Benchmark results are stored into Benchmarker.results as a list of tuples.
  ::

    bm = Benchmarker()
    bm('fib(34)').run(fib, 34)
    bm('fib(35)').run(fib, 35)
    for result in bm.results:
        print result
    ## output example:
    #('fib(34)', 4.37, 0.02, 4.39, 4.9449)
    #('fib(35)', 7.15, 0.05, 7.20, 8.0643)

* Time format is changed from '%10.4f' to '%9.3f'

* Changed to run full-GC for each benchmarks


Release 1.0.0
-------------

* public release

