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 |