这两天用 c++重写了一段用 node 写的后端程序,相同的业务逻辑,mongodb 的 CURD 操作之类的,没用奇巧淫记没有任何优化,编译出来的程序响应速度实测比 node 快 10 倍左右,虽然 c++写起来麻烦一点点但为了性能还是 ok 的,v 友门公司用 c++写后端的多吗?
101
augustheart 2019-08-23 16:56:33 +08:00
@b00tyhunt3r 关于 ocaml 比 c 快的说法我倒是看到过。不过不是他这个说法,是说有比 c 更快的传说。
但也就像我说的那样,就算 python 都有比 c 快的个例,这种没有参考价值。而且,我看到更多的评测结果都是 c 比 ocaml 快,最多也是不相上下( g++ vs ocaml)。如果差几倍,还是“多次优化”,基本可以断定是用调试版跑出来的结果。 |
102
CantSee 2019-08-23 16:59:29 +08:00
毕竟没有虚拟化平台
|
103
jy04149886 2019-08-23 17:16:10 +08:00
上代码吧,学习一下
|
104
no1xsyzy 2019-08-23 18:25:03 +08:00
|
105
secondwtq 2019-08-23 19:57:44 +08:00 via iPad
我只记得这个 http://www.ffconsultancy.com/languages/ray_tracer/comparison.html
然而这个在 HN 上被喷成狗了 C/C++ 的独特优势是性能**上限**高,意思是假定使用的是未经定制的编译器,同时假定有一个水平无限高的程序员(或者有无限多只猴子在”写”同一个程序),用 C/C++ (以及其常见扩展)写的程序的运行时性能的最大值是其他语言比不上的 这个条件很值得玩味 当然汇编是个例外,不过这里即使排除汇编,以及 C/C++ 的內联汇编扩展,C/C++ (以及其常见扩展)对硬件和内存的精确控制还是可以使其在运行时性能上限这一方面把其他语言轰成渣 |
106
secondwtq 2019-08-23 20:05:05 +08:00 via iPad
OCaml 的编译器实现确实很高效,不过这个“高效”更适合用来指代该编译器本身,而不是编译器生成的代码。这么说把,OCaml 的编译器的**编译速度**,和 C++/Haskell 的编译器相比是两个极端
不过鉴于 OCaml 的编译器是 OCaml 写的,所以你说 OCaml 运行时性能高效,也还凑合,不过和 C/C++ 比性能上限还是算了吧 个人见解,OCaml 编译器本身能做的如此高效,一个重要原因是坚持了四项,啊不四字基本原则,即 KISS。另外 OCaml 编译器对所生成代码进行的优化,相比于各大 C/C++ 编译器来说是很少的,flambda 什么的也是最近才开始搞(效果貌似也没好到哪去)。对于 C/C++ 编译器来说,如果你把优化开满,编译是很耗时的 某中文博主的文章里面应该也有一部分这个意思,但是他吹过头了 |
107
b00tyhunt3r 2019-08-23 20:58:10 +08:00 via iPad
|
108
luozic 2019-08-23 21:07:26 +08:00 via iPhone
比 c 实现某功能快 50 倍?是运行快,还是写代码花的时间? ada 编译器 /fortran 编译结果倒是在很多时候比 C 快,但是现在没多少人愿意用了,ocaml 比 c 快,怕不是在通用处理器上吧,
|
109
sosilver 2019-08-23 21:28:00 +08:00 via Android
@augustheart nightly 不是啥可怕的东西,Libra 都在用 nightly
|
111
secondwtq 2019-08-23 21:35:37 +08:00 via iPad
另外我觉得 OCaml 还是低调一点 ... 一粉顶十黑的客观真理已经在这几楼开始发挥作用了,我可不想哪天 OCaml 变成人人喊打的东西
说起来,我之前用 PHP 重新实现了一个系统,结果发现 PHP 的实现比原来的 C 语言实现快了 50 倍。经过 C 语言的那个小组对算法多次的优化,PHP 的版本还是快好几倍。(转移话题 |
112
Cbdy 2019-08-23 21:38:58 +08:00 via Android
这种应用瓶颈不是卡在 IO 吗?
|
113
cabing 2019-08-23 21:39:24 +08:00
脱离了业务和开发效率说速度都不太实际。
|
114
version 2019-08-23 21:40:22 +08:00 via iPhone
只在乎改需求的语言成本,其它多核处理器来处理速度问题,一半简单接口,人员成本比机器高,还抱怨 996
|
115
b00tyhunt3r 2019-08-24 03:01:00 +08:00 via iPad
@secondwtq 哇 图形学大佬?
|
116
agagega 2019-08-24 08:57:55 +08:00 via iPhone
@secondwtq
印象里 ocamlc 和 ocamlopt 编译速度差不少啊,你说的怕不是 ocamlc |