gpt4 book ai didi

javascript - emscripten 代码缺乏巨大的性能

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:14 24 4
gpt4 key购买 nike

现在是凌晨 2:50,在忙碌了一天之后,我发现了一些奇怪的东西。我尽力描述我的问题。

我用C++JavaScript写了这两段代码:

#include<stdio.h>
#include <time.h>

int main() {
clock_t tStart = clock();

int result = 0;
for (int a = 0; a < 1000000000;a++) {
result += a;
}

printf("Time taken: %.2fs\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);

return 1;
}

和:

var start = new Date().getTime();

var result = 0;

for(var a = 0;a < 1000000000;a++) {
result += a;
}

var end = new Date().getTime();
var time = end - start;
console.log('Time taken: ' + (time/1000) + 's');

他们两个做同样的事情(我希望如此)

使用最新版本的emscripten生成./a.out.js后,我发现了一些奇怪的东西: the result of executing both codes

emscripten 代码的执行时间确实比手动编写的 JavaScript 代码慢。有什么问题?

最佳答案

node.js 缺少大多数真正的 asm.js 性能调整,这些调整使 emscripten 变得更快。与其在 node 上尝试,不如在 firefox 或 chrome 中尝试。

问题是 node.js 往往落后于 chrome 的 V8 版本,因此进入 Chrome 的功能(或优化)可能需要相当长的时间才能进入 V8。我实际上不知道多长时间,但 asm.js 优化足够新,当我在 2014 年 4 月初最后一次尝试它时,它在 node.js 的命令行上比在 Chrome 和 Firefox 的浏览器中慢得多速度更快。

关于javascript - emscripten 代码缺乏巨大的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23417502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com