Vla*_*nov 5 javascript gruntjs gulp
未来的 ECMAScript 标准和/或任何 grunt/gulp 模块是否有能力像在 C++ 中那样在 JavaScript 中创建内联函数(或在某些地方内联普通函数调用)?
这是一个简单方法的例子,而不是使向量的点积
Vector.dot = function (u, v) {
return u.x * v.x + u.y * v.y + u.z * v.z;
};
Run Code Online (Sandbox Code Playgroud)
每次当我写一些东西时
Vector.dot(v1, v2)
Run Code Online (Sandbox Code Playgroud)
我想确保 javascript 只是进行内联计算,而不是进行函数调用
鉴于OP要求性能,我会尽力提供答案。
如果您正在针对 V8 引擎进行优化,您可以查看以下文章,了解哪些函数被内联,以及去优化如何影响您的代码。
http://floitsch.blogspot.com/2012/03/optimizing-for-v8-inlined.html
例如,如果您想查看是否Vector.dot内联,请使用以下命令行,其中script.js包含您的定义和调用代码:
d8 --trace-inlining script.js
Run Code Online (Sandbox Code Playgroud)
优化算法因引擎而异,但内联概念应该几乎相同。如果您想了解其他引擎,请将问题修改为包含确切的引擎,以便从 JS 引擎专家那里获得一些见解。
| 归档时间: |
|
| 查看次数: |
864 次 |
| 最近记录: |