asm.js相关内容

这是什么 asm 样式 "x |0"一些 javascript 程序员现在正在使用?

我见过一些对性能至关重要的 javascript 代码,例如 这个项目 上的代码使用与 0 的按位或运算.例如: GameBoyAdvanceCPU.prototype.write8 = 函数(地址,数据){地址 = 地址 |0;数据 = 数据 |0;this.memory.memoryWrite8(address | 0, data | 0); 我知道带有“|0"的楼层编号的用例,但这里的情 ..

asm.js 和 WebAssembly 有什么区别?

我最近一直在阅读有关 asm.js 和 WebAssembly 的文章: http://ejohn.org/blog/asmjs-javascript-compile-target/ https://brendaneich.com/2015/06/from-asm-js-to-webassembly/ 我仍然对一些事情感到困惑: asm.js 代码是否及时编译并运行?编译成 ..
发布时间:2021-09-22 20:09:17 前端开发

我应该在JS的哪里定义emscripten extern函数?

假设我在C ++中将函数 x 定义为: 外部"C" void x(); 然后我在全局上下文中用JS实现 function _x(){console.log('x named');} _x 是在asm编译的js文件中定义的,该文件正在被调用,而不是我的实现.我在做什么错了? 我在链接时收到此警告: 警告:未解析的符号:x 这是堆栈跟踪: 未捕获的abort()错误在jsS ..
发布时间:2021-05-04 19:12:12 前端开发

什么是“使用asm"?到底是什么?

据我所知,Asm.js只是JavaScript的严格规范,它使用了JavaScript功能,并且不是新语言. 例如,它提供了 var a = e | 0; ,而不是使用 var a = e; . 我的问题是,如果asm.js只是一个定义,并且可以通过更改使用和声明变量和动态类型的方式来实现,那么"use asm"; 的实际作用是什么?是否有必要在声明函数的主体之前将此字符串放置? ..
发布时间:2021-05-04 19:11:45 前端开发

为什么WebAssembly安全,什么是线性内存模型

(1)通过提供线性内存,我听说了WebAssembly的安全性.我想知道线性存储器包含什么吗?wasm堆栈和堆位于此内存空间中吗?如果是,我认为wasm堆栈和胶水代码堆栈(例如js python等)是分开的,对吧? (2)通过使用导入表,我可以了解wasm的内存安全性.换句话说,wasm函数不能调用线性存储器之外的任何函数,因为它只能使用索引来调用导入的函数.除此之外,wasm还提供什么其他 ..
发布时间:2021-05-04 19:11:39 其他开发

为什么即使在firefox中asmjs代码也会变慢?

我已经创建了一个jsPref来测试这个asm.js的东西: http://jsperf.com/asm -diag 我认为我做错了什么,因为asmjs代码的运行速度比普通的js代码慢两倍,即使在每晚的firefox中也是如此。 我不知道代码中有什么问题。 提前致谢, 编辑: Benchmark.prototype.setup = function (){ 函数Dia ..
发布时间:2019-06-12 14:15:31 前端开发

asm.js如何处理除零?

在javascript中,使用“整数”参数除以零的行为应该像浮点数一样: 1/0; //无限 -1/0; // -Infinity 0/0; // NaN asm.js规范说整数参数除法返回 intish ,必须立即强制签名或签名。如果我们在javascript中执行此操作,则使用“整数”参数除零始终在coersion后返回零: (1/0) | 0; // ..
发布时间:2019-06-12 12:32:56 前端开发

在asm.js中的函数之间传递双数组

我有一个使用以下参数编译成asm.js的C函数: void myfunc(double v1 [], double v2 [],int v_size,double c) 它接收一个数组( v1 ),应用转换,然后用输出填充另一个相同大小的数组( v2 )。 我编译它,然后运行以下JS代码: v1 = new Array( 1.0,1.5,2.0); ..
发布时间:2019-05-27 14:56:13 前端开发

可以将常规JavaScript转换为asm.js,还是只是为了加速静态类型的低级语言?

我已阅读如何使用asm进行测试和开发的问题。 js?,接受的答案提供了 http://kripken.github.com的链接/ mloc_emscripten_talk /#/ 。 该幻灯片的结论是“静态类型语言,特别是C / C ++可以有效地编译到JavaScript “,所以我们可以”期望编译的C / C ++的速度比本机代码快2倍,或者更好,今年晚些时候“。 但是非静态类型 ..
发布时间:2019-02-20 21:23:46 前端开发

Emscripten找不到cmake的路径

我已完成指示几次,看着无数的论坛,仍然无法解决这个问题。 我运行的是Windows 10,只是试图安装Emscripten。我安装了Emscripten: 我跑 #获取可用工具的最新注册表。 emsdk更新 后跟 #下载并安装最新的SDK工具。 emsdk install latest 但是它仍然会出现相同的警 ..
发布时间:2016-10-30 00:11:46 C/C++开发

asm.js - 如何实现函数指针

注意:这个问题纯粹是关于 asm.js ,不是关于C ++或其他程式语言。 标题已经说过: 如何以有效的方式实现函数指针? 我在网上找不到任何东西,所以我想在这里问。 编辑: 我想在我正在编译的编译器中实现虚函数。 在C ++中,我会这样做,生成一个 / code>: #include class Base { public: ..
发布时间:2016-10-19 20:59:17 C/C++开发

这是什么风格ASM英寸×| 0 QUOT;现在一些JavaScript程序员使用?

我已经看到了一些性能至关重要的javascript code,就像一个在这个项目的大量使用位或操作以0例如: GameBoyAdvanceCPU.prototype.write8 =功能(地址,数据){ 地址=地址| 0; 数据=数据| 0; this.memory.memoryWrite8(地址| 0,数据| 0); 我知道用例地板号码用“| 0”,但在这里,情况并非如此,因为这些是总是 ..