Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running ecraven's benchmarks #11

Open
amirouche opened this issue Aug 3, 2020 · 10 comments
Open

Running ecraven's benchmarks #11

amirouche opened this issue Aug 3, 2020 · 10 comments

Comments

@amirouche
Copy link
Member

What about porting ecraven's benchmarks and run them using the containers found in this project so that it is easy for anyone to reproduce the results?

@lassik
Copy link
Contributor

lassik commented Aug 3, 2020

Sounds excellent. That benchmark suite is impressive but haven't had time to try and run it. Do you know how to hook it up to our containers?

@amirouche
Copy link
Member Author

It seems straight forward to run the tests with docker. I will look into it.

@amirouche
Copy link
Member Author

@amirouche
Copy link
Member Author

After cloning the benchmark repository, change directory inside it then:

% docker run -it --mount type=bind,source="$(pwd)",target=/benchmark schemers/chibi bash
$ cd /benchmark/
$ ./bench chibi all

Testing browse under Chibi
Including prelude /benchmark/src/Chibi-prelude.scm
Including postlude /benchmark/src/Chibi-postlude.scm
Compiling...
chibi_comp /tmp/larcenous/Chibi/browse.scm /tmp/larcenous/Chibi/browse.scm
Running...
WARNING: importing undefined variable: chibi-version
Running browse:2000

...

@amirouche
Copy link
Member Author

That is the idea. I tried chicken first, but it seems like the docker container is missing the command chicken-csc or chicken5 has changed its command line. Anyway, I will further investigate.

@lassik
Copy link
Contributor

lassik commented Aug 3, 2020

it seems like the docker container is missing the command chicken-csc

Almost all of our containers should install the Scheme implementation under /usr/local. Try looking in /usr/local/bin. The Chicken compiler may be simply csc.

@amirouche
Copy link
Member Author

The Chicken compiler may be simply csc.

That is exactly the case.

@lassik
Copy link
Contributor

lassik commented Aug 3, 2020

Bind mounts are one way, or you can do git clone --depth 1 or wget/curl https://github.com/ecraven/r7rs-benchmarks/archive/master.tar.gz inside the container. Bind mounts are find for local development, but may not be easy to use reliably in production.

Most of the containers are based on debian, so apt-get update && apt-get install -y curl works to install packages.

@amirouche
Copy link
Member Author

Based on my investigations, we need to fork the benchmarks to adapt it.

What do you think @ecraven?

@ecraven
Copy link

ecraven commented Aug 3, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants