jbrandhorst
2017-7-6 21:07:35

@jbrandhorst has joined the channel


samth
2017-7-6 21:14:12

@samth set the channel topic: Racket — http://racket-lang.orghttp://pasterack.org - Slack invite link: http://racket-slack.herokuapp.com - Archives: http://racket.slackarchive.io/


notjack
2017-7-6 21:21:59

@stamourv if I wanted to write benchmarks for a package that are part of a test suite and don’t produce pretty plots, should I extend https://github.com/stamourv/racket-benchmark or would I be better off making my own package for that?


ben
2017-7-6 21:26:50

notjack: extending racket-benchmark would be cool


notjack
2017-7-6 21:27:49

@ben do you use it often?


stamourv
2017-7-6 21:28:01

@notjack: Sure, I’m all for making racket-benchmark better!


stamourv
2017-7-6 21:28:31

We have a number of experiments that use it, so not breaking it is important, but improvements would be welcome!


notjack
2017-7-6 21:29:26

@stamourv do you have links to some of the experiments?


stamourv
2017-7-6 21:30:21

Not directly, but I think some of our research artifacts may have some, lemme check.


ben
2017-7-6 21:31:39

never


ben
2017-7-6 21:32:13

ben
2017-7-6 21:32:34

ben
2017-7-6 21:33:11

and this is getting silly. Usually I want some tooling around these benchmarks (to reproduce data in a paper), but the code should all be in 1 place


ben
2017-7-6 21:33:40

stamourv
2017-7-6 21:33:41

stamourv
2017-7-6 21:33:58

It’s a large VM, that has a benchmark suite (and other stuff) inside.


notjack
2017-7-6 21:34:26

thanks @ben and @stamourv for links :)


notjack
2017-7-6 21:34:48

really the main thing I want is something like (check-faster (foo-benchmark foo-impl1) (foo-benchmark foo-impl2))


stamourv
2017-7-6 21:37:13

Oh, sure. That should be easy to do with the results data structure.


stamourv
2017-7-6 21:37:34

Beware of the case where the confidence intervals overlap, though. Can’t conclude that either is faster.


notjack
2017-7-6 21:40:57

memory consumption benchmarks instead of timing benchmarks would also be useful


zenspider
2017-7-6 21:52:40

@notjack I have benchmark-ips… it might help normalize some of the error


zenspider
2017-7-6 21:53:30

and in minitest, I have minitest/benchmark which allows you to assert that the performance of a block of code fits well to a particular curve. Allows tests to pass regardless of the hardware you run on.


notjack
2017-7-6 21:59:12

@zenspider I definitely want curve-fitting perf tests for racket. The lens library in particular could benefit from perf testing.


zenspider
2017-7-6 22:00:38

basically looks like:

    def bench_my_algorithm
      assert_performance_linear 0.9999 do \|n\| # n is a range value
        @obj.my_algorithm(n)
      end
    end

And asserts against the R^2 of the fit instead of actual measurements



zenspider
2017-7-6 22:02:50

benchmark-ips is my port of a ruby tool. Similar to racket’s benchmark, but it doesn’t graph and it is focused on iterations per second instead of some fixed number of iterations… I mostly use it when experimenting with N different implementations of something


fluffywaffles
2017-7-7 01:56:53

@fluffywaffles has joined the channel