Here we compare Fibonacci algorithm implemented in C++, Java, Rust, Lisp, Haskell, Eiffel, and some other compiled programing languages in different programming styles, like object-oriented, procedural, functional, etc. We are trying to understand which style compiles to shorter binary code and works faster. If you can imagine some other way how this algorithm could be implemented in C++ or other languages, don't hesitate to submit a pull request.
Recent results are published here:
To build it locally, just run:
make
The result will be in summary.txt
file.
To analyze the quality of the code in this repo and make sure there are no hidden defects, run all static analyzers and style checkers:
make sa
You need to have Clang, Make, Rust, Common Lisp, Haskell, GraalVM, Ruby, Go, Clang-Tidy, Clang-Format, cppcheck, and cpplint installed. It's better to check this file for the full list of dependencies.