所以我有一些很酷的图像处理算法。我用OCaml写的。它表现很好。我现在可以使用这样的命令ocamlc -output-obj -o foo.c foo.ml
将其编译为C代码(我有一种情况,我不能使用OCaml编译器为我的arcetecture bild我的程序,我只能使用specialy修改的gcc。所以我会使用像gcc -L/usr/lib/ocaml foo.c -lcamlrun -lm -lncurses
这样的某种类型编译该程序,并在我的原型上运行。)
我想知道一般情况下,用C语言编写的程序能否比用OCaml编写的程序更快并转换为C?
答案 0 :(得分:5)
是。但是关于这些问题的所有概括都只是概括,而你(以及其他人)将能够找到反例。
当然,这个答案本身就是一种概括。
答案 1 :(得分:4)
性能通常不是语言问题,而是用于解决问题的算法问题。对于任何问题,有一个荒谬的不同算法来解决它,在时间和空间上有不同的复杂性。
因此,您可以使用超慢速语言A中的O(n)和使用超快语言B的O(n ^ 2)解决方案。对于n,将存在一些阈值n_t。对于n <1,A将比B慢。 n_t,但对于n>更快; N_T。
即使实施相同的算法,也有另外两种不同的方法,影响复杂性的常数因素。因此,正如已经给出的那样,你的问题的答案肯定是肯定的,但它无济于事,因为这个问题本身毫无用处。