关于ocaml性能的测试(二)

今天经code17提出,我才明白ocamlc编译后所得到的只不过是bytecode。效率当然
没有办法和C比
重新用ocamlopt编译后
并加大计算量,计算第44项,所得统计如下
FreeBSD6.0,AlthonXP 2400+
$ time ./fibc
701408733
17.531u 0.000s 0:17.55 99.8% 5+175k 0+0io 0pf+0w
$ time ./fib
701408733
11.929u 0.000s 0:11.94 99.8% 138+799k 0+0io 0pf+0w
2 * Xeox 3.04G,SMP
$ time ./fib
701408733
11.303u 0.000s 0:11.30 100.0% 128+768k 0+0io 0pf+0w
$ time ./fibc
701408733
16.663u 0.000s 0:16.66 100.0% 5+169k 0+0io 0pf+0w
可见,ocaml所花的时间大概是C的68%左右。
这点让人大大的吃惊。
(我见过唯一在效率上能打败C的就是在科学计算领域的fortran)
我想可能是因为ocaml本身做的最多的运算就是递归,所以编译器在代码生成时对
此做了特殊的优化。
另外想问一下,ocaml可不可以当作脚本来用,来代替csh/sh.
今天我刚刚开始学csh script,是在读usd( "UNIX User's Supplementary
Documents (USD) 4.4 Berkeley Software Distribution")。真可惜这么好的文档
为什么我现在才找到……

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥