- 论坛徽章:
- 3
|
fibonacci(40) benchmark test for QBASIC
关于 QBASIC 编译期的信息可以看 实现 QBASIC 编译器
- - - - - - - - - - - - - - - - - - - - -
C gcc -O2
代码:- #include <stdio.h>
-
- int fibonacci(n) {
- if (n < 2) {
- return n;
- }
- return fibonacci(n - 2) + fibonacci(n - 1);
- }
-
- int main() {
- printf("%dn", fibonacci(40));
- return 0;
- }
复制代码 - - - - - - - - - - - - - - - - - - - - -
real 0m0.462s
user 0m0.462s
sys 0m0.000s
===========================================
jua:
代码:- local function fibonacci(n)
- if n < 2 then
- return n
- end
- return fibonacci(n - 2) + fibonacci(n - 1)
- end
-
- io.write(fibonacci(40), "n")
复制代码 - - - - - - - - - - - - - - - - - - - - -
real 0m16.516s
user 0m16.507s
sys 0m0.002s
===========================================
python
代码:- def fibonacci(n):
- if n < 2:
- return n
- return fibonacci(n - 2) + fibonacci(n - 1)
-
- print fibonacci(40)
复制代码 - - - - - - - - - - - - - - - - - - - - -
real 0m46.014s
user 0m45.962s
sys 0m0.035s
===========================================
QBASIC
使用的编译器 llvm-qbc fab.bas
代码:- function fibonacci( n as long ) as long
- if n < 2 then return n
- return fibonacci(n - 2) + fibonacci(n - 1)
- end function
-
- sub main()
- print fibonacci(40 )
- end sub
复制代码 - - - - - - - - - - - - - - - - - - - - -
real 0m1.065s
user 0m1.065s
sys 0m0.000s
===========================================
QBASIC is just a little slower that C ! I haven't optimize the code !
我的 QBASIC 编译器成功打败了除 C 以外的所有语言!~~~
|
|