【发布时间】:2017-03-18 12:29:42
【问题描述】:
基于对其他问题的多个答案,从 Javascript 调用本机 C++ 成本很高。
我用节点模块“基准”检查了自己,得出了同样的结论。
一个简单的 JS 函数可以直接获得约 90 000 000 次调用,当调用 C++ 函数时,我最多可以获得大约 25 000 000 次调用。这本身并没有那么糟糕。
但是当添加一个对象的创建时,JS 仍然是大约 70 000 000 次调用/秒,但原生版本受到极大影响,下降到大约 2 000 000 次。
我认为这与 v8 引擎如何工作的动态特性有关,并且它将 JS 代码编译为字节码。
但是是什么让他们无法对 C++ 代码实现相同的优化呢? (或者至少打电话/了解什么会有所帮助)
【问题讨论】: