README.md in benchmark_driver-0.10.12 vs README.md in benchmark_driver-0.10.13
- old
+ new
@@ -1,32 +1,26 @@
# BenchmarkDriver [![Build Status](https://travis-ci.org/k0kubun/benchmark_driver.svg?branch=master)](https://travis-ci.org/k0kubun/benchmark_driver)
Fully-featured accurate benchmark driver for Ruby
-## Project Status
-
-Beta.
-
-Interface might be changed in the future, but it's almost fixed and many features can run well.
-
## Features
### Accurate Measurement
- Low overhead benchmark by running generated script instead of calling Proc
-- Profiling memory, high-precision real time, user time and system time
+- Profiling memory and high-precision real time
- Running multiple times to minimize measurement errors
### Pluggable & Fully Featured
-- Flexible and real-time output format in ips, execution time, markdown table, etc.
-- Benchmark with various running options
+- Flexible and real-time output format in comparison, markdown table, graph, etc.
+- Measuring various metrics by specifying runners
- Integrated benchmark support using external libraries
- Runner and output format are all pluggable
### Flexible Interface
-- Ruby interface similar to benchmark stdlib, benchmark-ips
+- Ruby interface similar to stdlib benchmark.rb, benchmark-ips
- YAML input to easily manage structured benchmark set
- Comparing multiple Ruby binaries, even with miniruby
## Installation
@@ -147,9 +141,30 @@
2.4.1: 2660777.4 i/s - 1.08x slower
str-interp
2.5.0: 3258489.7 i/s
2.4.1: 1889805.6 i/s - 1.72x slower
+```
+
+## Output options
+
+By default, there are following output options.
+
+* compare: benchmark-ips's `compare!`-like output (default)
+* simple: ruby's original `benchmark/driver.rb`-like simple output
+* markdown: output in markdown table
+* record: serialize results in `benchmark_driver.record.yml`, to change outputs later as you like
+
+With `benchmark-driver` CLI, you can specify it with `-o [output]` or `--output [output]`.
+
+With Ruby interface, you can specify it like:
+
+```rb
+Benchmark.driver do |x|
+ x.prelude %{ array = [] }
+ x.report 'Array#empty?', %{ array.empty? }
+ x.output 'markdown'
+end
```
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/k0kubun/benchmark_driver.