fib
1.0.0
前10名:JavaScript,Python,Java,打字稿,C#,PHP,C ++,C,Shell,Ruby参考
Others: Go, Rust, Swift, Crystal, Pony, Ada, Pascal, Fortran, Kotlin, Clojure, Scala, Mono, R, Dart, Julia, D, Nim, Cython, Python3, PyPy, Ruby jit, OCaml, Lisp, Haskell, Erlang, Elixir, Escript, Dart, Scheme, Lua, Perl, Perl6, Bash,表情符号
该代码以2,971,215,073的形式执行递归纤维纤维的纤维纤维。
斐波那契可以写许多不同的方式。该项目的目的是比较每种语言如何处理完全相同的代码。
这是Ruby版本:
def fib(n)
return n if n <= 1
fib(n - 1) + fib(n - 2)
end
puts fib(47)
这是水晶版:
def fib(n)
return n if n <= 1
fib(n - 1) + fib(n - 2)
end
puts fib(47_u64)
也要保留一个级别的竞争环境,仅在编译步骤中使用常见的“发布”标志。这允许编译器的优化,例如内部和持续的传播,但删除了任何被认为危险的即绕过范围检查的东西。
所有测试均以:
您可以使用Docker运行测试: docker run -it drujensen/fib
默认情况下,它将编译并运行所有语言5次。总计是通过添加平均编译和运行时间来计算的。
要仅运行语言的一个子集,请提供扩展名单,并可以选择:
docker run -it drujensen/fib ./run.sh s,c,cpp,go,rs,swift 5
使用屏幕在后台运行:
screen
docker run drujensen/fib > results.txt 2>&1Ctrl+A然后进行Dscreen -r最后一个基准是在2024年12月5日运行
| 语言 | 全部的 | 编译 | 时间 | 跑步 | 时间 | 分机 |
|---|---|---|---|---|---|---|
| 尼姆 | 0.832 | NIM C -D:释放fib.nim | 0.669 | ./fib | 0.163 | 尼姆 |
| c | 4.835 | gcc -o3 -o fib fib.c | 0.112 | ./fib | 4.723 | c |
| C ++ | 4.888 | g ++ -o3 -o fib fib.cpp | 0.139 | ./fib | 4.750 | CPP |
| Fortran | 6.334 | gfortran -o3 -o fib fib.f03 | 0.130 | ./fib | 6.204 | F03 |
| 艾达 | 6.811 | gnat make -o3 -gnatp -o fib fib.adb | 0.220 | ./fib | 6.591 | ADB |
| 锈 | 8.108 | rustc -c opt级= 3 fib.rs | 0.358 | ./fib | 7.750 | 卢比 |
| 奥丁 | 8.838 | 奥丁构建fib.odin -file -0:速度 | 0.087 | ./fib | 8.751 | 奥丁 |
| Mojo | 8.947 | Mojo构建Fib.mojo | 0.241 | ./fib | 8.706 | Mojo |
| v | 9.168 | v -prod -o fib fib.v | 4.450 | ./fib | 4.718 | v |
| 集会 | 9.367 | gcc -no -pie -o3 -o fib fib.s | 0.025 | ./fib | 9.342 | s |
| 迅速 | 9.781 | swiftc -ounnecked fib.swift | 0.399 | ./fib | 9.381 | 迅速 |
| 帕斯卡 | 10.460 | fpc -o3 -si ./fib.pas | 0.041 | ./fib | 10.419 | pas |
| 小马 | 11.106 | Ponyc -s -B fib -p ./fib.pony | 0.879 | ./fib | 10.226 | 小马 |
| OCAML | 16.018 | ocamlopt -o3 -o fib fib.ml | 0.187 | ./fib | 15.831 | ML |
| ZIG | 16.181 | Zig build -exe -oreleasefast ./fib.zig | 6.882 | ./fib | 9.299 | ZIG |
| 哈斯克尔 | 18.095 | rm ./fib.o && ghc -o3 -o fib fib.hs | 0.001 | ./fib | 18.094 | HS |
| d | 18.193 | dmd -release -of = fib fib.d | 0.342 | ./fib | 17.851 | d |
| 去 | 18.948 | 去构建fib.go | 1.107 | ./fib | 17.842 | 去 |
| 水晶 | 20.525 | 水晶制造 - 释放fib.cr | 3.106 | ./fib | 17.420 | Cr |
| Lisp | 25.726 | SBCL -LOAD FIB.LISP | 0.979 | ./fib | 24.747 | Lisp |
| 飞镖编译 | 31.707 | DART编译EXE -O FIB ./fib.dart | 1.558 | ./fib | 30.149 | 达特克 |
| COBOL | 4380.728 | cobc -x -o3 -o fib ./fib.cbl | 0.133 | ./fib | 4380.596 | CBL |
| 语言 | 全部的 | 编译 | 时间 | 跑步 | 时间 | 分机 |
|---|---|---|---|---|---|---|
| C# | 12.760 | dotnet build -c版本-O ./ bin | 2.015 | dotnet ./bin/fib.dll | 10.744 | CS |
| 爪哇 | 13.040 | Javac Fib.Java | 0.733 | Java Fib | 12.307 | 爪哇 |
| Scala | 15.836 | Scalac Fib.Scala | 2.682 | Scala Fib | 13.153 | Scala |
| 科特林 | 16.286 | kotlinc fib.kt | 4.074 | Java Fibkt | 12.212 | KT |
| Erlang | 28.378 | erlc +本机 +'{hipe,[o3]}'fib.erl | 0.402 | erl -noinput -noshell -s fib | 27.976 | ERL |
| Groovy | 70.123 | groovyc fib.groovy | 1.519 | Groovy Fib | 68.604 | Groovy |
| 语言 | 时间 | 跑步 | 分机 |
|---|---|---|---|
| 克洛杰尔 | 17.815 | Clojure -M fib.cljc | cljc |
| 朱莉娅 | 18.000 | Julia -O3 fib.jl | JL |
| 包子 | 21.312 | bun fib.js | 包子 |
| 镖 | 29.984 | 飞镖fib.dart | 镖 |
| 节点 | 34.736 | 节点fib.js | JS |
| 长生不老药 | 35.243 | erl_compiler_options ='[本机,{hipe,[o3]}]'elixir fib.exs | 前任 |
| Lua Jit | 37.837 | luajit fib.lua | 卢阿吉特 |
| Python(PYPY) | 54.078 | pypy fib.py | pypy |
| 红宝石(jit) | 81.454 | Ruby -Jit Fib.rb | rbjit |
| 语言 | 时间 | 跑步 | 分机 |
|---|---|---|---|
| 描述 | 28.380 | Escript Fib.es | es |
| 方案 | 102.887 | Guile Fib.scm | SCM |
| php | 157.312 | php fib.php | php |
| 卢阿 | 203.702 | lua fib.lua | 卢阿 |
| 红宝石 | 393.625 | Ruby Fib.RB | RB |
| Python | 423.427 | python fib.py | py |
| 珍妮特 | 479.663 | 珍妮特./fib.janet | 珍妮特 |
| 珀尔 | 1490.416 | perl fib.pl | pl |
| raku | 1672.015 | rakudo fib.raku | raku |
| TCL | 2230.883 | tclsh fib.tcl | TCL |
| r | 2575.249 | r -f fib.r | r |
所有编译器均在Ubuntu上使用APT或ASDF安装24.04 Docker Image:
| 语言 | 版本 |
|---|---|
| 艾达 | 13.2.0 |
| 集会 | 13.2.0 |
| bash | 5.2.21 |
| 包子 | 1.1.38 |
| 水晶 | 1.14.0 |
| 克洛杰尔 | 1.12.0.1488 |
| 镖 | 3.5.4 |
| DMD | 2.109.1 |
| dotnet | 9.0.101 |
| 长生不老药 | 1.17.3 |
| 榆树 | 0.19.1 |
| Erlang | 27.1.2 |
| Fortran | 13.2.0 |
| G ++ | 13.2.0 |
| 海湾合作委员会 | 13.2.0 |
| gnucobol | 3.2.0 |
| 戈兰 | 1.23.2 |
| Groovy | 4.0.24 |
| 诡计 | 3.0.10 |
| 哈斯克尔 | 9.8.3 |
| 珍妮特 | 1.36.0 |
| 爪哇 | OpenJDK-23 |
| 朱莉娅 | 1.11.1 |
| k | 3.6 |
| 科特林 | 2.1.0 |
| 自然界人士 | 1.39.0 |
| 卢阿 | 5.4.7 |
| 卢阿吉特 | 2.1.1 |
| Mojo | 24.5.0 |
| 尼姆 | 2.2.0 |
| nodejs | 23.3.0 |
| OCAML | 5.2.1 |
| 奥丁 | DEV-2024-11 |
| 帕斯卡 | 3.2.2 |
| 珀尔 | 5.40.0 |
| php | 8.4.1 |
| 小马 | 0.58.7 |
| Powershell核 | 7.4.6 |
| Python | 3.12.0 |
| pypy | 7.3.17 |
| r | 4.4.2 |
| rakudo | 2024.10 |
| 红宝石 | 3.3.6 |
| 锈 | 1.83.0 |
| SBCL | 2.4.11 |
| Scala | 3.3.4 |
| 迅速 | 6.0.2 |
| TCL | 9.0.0 |
| v | 0.4.8 |
| ZIG | 0.13.0 |