sonic-pi

https://github.com/sonic-pi-net/sonic-pi

C++

Code. Music. Live.

Minitest::Benchmark#assert_performance_constant

Runs the given +work+ and asserts that the times gathered fit to
match a constant rate (eg, linear slope == 0) within a given
+threshold+. Note: because we're testing for a slope of 0, R^2
is not a good determining factor for the fit, so the threshold
is applied against the slope itself. As such, you probably want
to tighten it from the default.

See http://www.graphpad.com/curvefit/goodness_of_fit.htm for
more details.

Fit is calculated by #fit_linear.

Ranges are specified by ::bench_range.

Eg:

  def bench_algorithm
    assert_performance_constant 0.9999 do |n|
      @obj.algorithm(n)
    end
  end

Source | Google | Stack overflow

Edit

git clone [email protected]:sonic-pi-net/sonic-pi.git

cd sonic-pi

open app/server/ruby/vendor/minitest-5.18.1/lib/minitest/benchmark.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Minitest--Benchmark-assert_performance_constant-for-pr


# Commit to git

git add app/server/ruby/vendor/minitest-5.18.1/lib/minitest/benchmark.rbgit commit -m "better docs for Minitest::Benchmark#assert_performance_constant"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Minitest--Benchmark-assert_performance_constant-for-pr

hub pull-request


# Celebrate!