drujensen / fib

Performance Benchmark of top Github languages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Does this still work?

983 opened this issue · comments

commented

I tried to add WebAssembly, but I could not get the docker image to build.

On the first run, I got:

Step 7/109 : RUN curl -fsS https://dlang.org/install.sh | bash -s ldc
 ---> Running in eb55bdfecf13
main: line 178: USERPROFILE: unbound variable
The command '/bin/sh -c curl -fsS https://dlang.org/install.sh | bash -s ldc' returned a non-zero code: 1

On the second run, I uncommented most languages and got:

Step 13/25 : RUN DEBIAN_FRONTEND=noninteractive apt-get install -qq -y             cython             fp-compiler             gfortran             ocaml             perl6             sbcl             tcl             guile-2.2             luajit
 ---> Running in eb2c7c851b44
E: Unable to locate package cython
E: Unable to locate package fp-compiler                                                                                                                                                                      
E: Package 'gfortran' has no installation candidate                                                                                                                                                          
E: Unable to locate package ocaml                                                                                                                                                                            
E: Unable to locate package perl6                                                                                                                                                                            
E: Unable to locate package sbcl                                                                                                                                                                             
E: Unable to locate package tcl                                                                                                                                                                              
E: Unable to locate package guile-2.2                                                                                                                                                                        
E: Couldn't find any package by glob 'guile-2.2'                                                                                                                                                             
E: Couldn't find any package by regex 'guile-2.2'                                                                                                                                                            
E: Unable to locate package luajit                                                                                                                                                                           
The command '/bin/sh -c DEBIAN_FRONTEND=noninteractive apt-get install -qq -y             cython             fp-compiler             gfortran             ocaml             perl6             sbcl             tcl             guile-2.2             luajit' returned a non-zero code: 10

I then commented all languages except ruby and node, but the result for my WebAssembly benchmark is 0.000 seconds when run.sh is trying to execute it, no error messages given. It already fails to compile with wat2wasm fib.wat. Both wat2wasm fib.wat and node fib_wasm.js run fine when executed by hand, i.e. not with run.sh.

Any advice?

Here is the code to install wat2wasm:

https://github.com/983/fib/blob/b850b849ed53d932adf6b7ed67c61b54ae9d6c77/Dockerfile#L106

Here is the code to compile and run the benchmark:

https://github.com/983/fib/blob/b850b849ed53d932adf6b7ed67c61b54ae9d6c77/run.sh#L52

Some miscelaneous notes:

  • Is this asdf-vm thing worth it? There are a lot of warnings about gpg keys which could not be checked. I also tried installing ruby and node from binaries and got much faster docker build times.
  • The path command can be split up by escaping the $ sign with a backslash so more than one export can be declared without messing things up and the whole thing will become more modular.

I've updated language versions and cleaned up the docker image. It should build now. takes about 1hr on my laptop.