How to run benchmarks


#1

I am trying to run ruby-bench-docker. Here are the steps I took:

a) cd into base/ folder and ran:

>sudo docker build --no-cache -t tgxworld/ruby_releases_base

b) cd into ruby_benchmarks/ruby_releases/ruby_benchmarks and ran:

>sudo docker build --no-cache -t tgxworld/ruby_releases

c) try running the benchmark by:

>sudo docker run --rm tgxworld/ruby_releases

However, I am getting the following errors:

/etc/profile: line 38: rbenv: command not found
/root/.bashrc: line 19: rbenv: command not found
stdin: is not a tty
Using Ruby 
./runner: line 8: rbenv: command not found

Then, I tried running this manually within the container (which works):

hostmachine> sudo docker run --rm -t -i tgxworld/ruby_releases /bin/bash
root@container:> ./runner 

But this outputs a bunch of stuff on stdout and I don’t know how to interpert the results. Can you tell me how you run the benchmarks and how are the results fed into the ruby-bench-web frontend? So I can look at nice pretty graphs similiar to the one on https://rubybench.org/

Any help would be greatly appreciated.


#2

Hi Jack!

The problem is due to the way you’re running the command.

sudo docker run --rm tgxworld/ruby_releases

should be

sudo docker run --rm -e "RUBY_VERSION=<specify a Ruby version>" tgxworld/ruby_releases

The RUBY_VERSION follows rbenv’s naming format. You’ll also have to check the Dockerfile in ruby_releases_base to see which Ruby versions are available.

Let me know if this fixes the problem for you.

If you look into driver.rb, you’ll see at the end that we’re actually POSTing the results to ruby-bench-web. :smile:


#6

@Jack Feel free to ask me if you have doubts :smile: I’ll be more than happy to help.

Is there anything particular you’re working on right now that I can help with?


#7

Hey @tgxworld, I ran into some trouble getting the docker to POST the results to the ruby bench web but I was able to figure it out. So everything is working now. Thanks for your help :smile: