Igal Abachi asked (via email)

wanted to ask few questions about it is saw you are active on this project: https://salsa.debian.org/igouy-guest

will there be benchmarks for those too? julia , nim, elm, idris , crystal , clojure, kotlin , D, haxe, elixir, ceylon , ring

also version of language not specified: for example newer version , more compilers: dart 2.0 , c++ 17 & c11 (clang LLVM compiler), php 7.2 , c# .net core 2.0 , node js version(v8 version)


also compilations , should show the difference between release & debug build, across the languages and also compilation parameters for benchmark not shown like Fortran: ifort -O3 or C: gcc -Ofast

also many of the benchmarks are multithreaded , for example in rust, there might be a difference depending on which external library you use for parallelism (for example c# threadpool uses fibers not real os threads)


also i saw , fortran dosn't implement half of the tests, and more benchmarks type which are more purely mathematical then object oriented manipulation or multi threaded similar to n body , fasta... there was a test that measured the energy efficiency(joules) across the languages


also, it's very good that you put a limitation across the benchmarks that they must return the correct result, and use the same algorithm, but i think it's should be more limited:

to same interface api, so that it won't happen that one language benchmark function takes 2 parameters and in other it would be 20 parameters,

also limiting the use of external libraries(like doing interop with other language), to only libraries that are written in the same language of the current benchmark, and tests should mostly use the standart features and libraries that most users are using , and not some wierd tricks , that workaround language limitation ,by making it something that it's not, for example of similar "cheating": using phyton that compiles to c with cython or scipy..

or c# , rust... that imports gmp lib for calculations,(js,dart,ts doesn't have builtin 64bit long numbers so need to use external lib)

or for example c# use of: [MethodImpl(MethodImplOptions .AggressiveInlining)] ,unchecked {},unsafe, stackalloc , pointers, pinvoke... is not how a regular user use the language , so the benchmark is misleading in that part

and the test should highlight read world performance of the standard language features and standard builtin library that comes with it.