Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将asm放入现有的JS应用程序中_Javascript_Emscripten_Asm.js - Fatal编程技术网

Javascript 将asm放入现有的JS应用程序中

Javascript 将asm放入现有的JS应用程序中,javascript,emscripten,asm.js,Javascript,Emscripten,Asm.js,我让emscripten工作,但它会生成巨大的自动执行文件。是否可以让emscripten生成我想要优化的小函数,以便我可以轻松地将它们复制粘贴到现有应用程序中 谢谢 我建议不要从Emscripten生成的输出内部复制/粘贴某些生成的函数,除非您已经确定浏览器中ASM/Javascript的带宽/编译是影响应用程序性能的限制因素。沿着我怀疑的路线走下去会让更新充满痛苦,除非必要,否则我会避免 我认为更好的方法是使用 一些相当简单的方法是: 用于促使Emscripten不包含某些标准库(假设您不

我让emscripten工作,但它会生成巨大的自动执行文件。是否可以让emscripten生成我想要优化的小函数,以便我可以轻松地将它们复制粘贴到现有应用程序中


谢谢

我建议不要从Emscripten生成的输出内部复制/粘贴某些生成的函数,除非您已经确定浏览器中ASM/Javascript的带宽/编译是影响应用程序性能的限制因素。沿着我怀疑的路线走下去会让更新充满痛苦,除非必要,否则我会避免

我认为更好的方法是使用

一些相当简单的方法是:

  • 用于促使Emscripten不包含某些标准库(假设您不需要它们)

  • 尽可能使用

  • 用于在退出时不包括某些必需的功能

  • 修补优化标志,但根据
    -O2
    提供

    最小和最快的输出


我建议不要从Emscripten生成的输出内部复制/粘贴某些生成的函数,除非您已经确定浏览器中ASM/Javascript的带宽/编译是影响应用程序性能的限制因素。沿着我怀疑的路线走下去会让更新充满痛苦,除非必要,否则我会避免

我认为更好的方法是使用

一些相当简单的方法是:

  • 用于促使Emscripten不包含某些标准库(假设您不需要它们)

  • 尽可能使用

  • 用于在退出时不包括某些必需的功能

  • 修补优化标志,但根据
    -O2
    提供

    最小和最快的输出


这是可能的,但还没有很好的文档记录:您可以使用
--单独的asm
标志。看


例如。

这是可能的,但还没有很好的文档记录:您可以使用
--separate asm
标志。看


例如。

创建一个模块并将其导出,然后从js代码中导入并调用它如何?复制/粘贴不一定是我喜欢的方法,更重要的是输出有数千行。你在哪里读过关于复制粘贴的讨论?我犹豫着问这个问题,但你知道什么是js模块吗?你可以使用emscripten的轻量级替代品,我不能推荐任何,但我已经看到了一些。但从我有限的经验来看,我相信emscripten在这个领域是最好的。开销可能来自包含的库和名称空间。您可以尝试在没有开销的情况下处理代码(但正如您所说,这可能会让人恼火),看看它是否有效,如果您不调用外部资源,它可能会有效。或者避免这些,看看它是否输出更少的开销。也许这个问题可以给你更多的见解。
bonsai-c
生成小型asm.js。但是它只支持C的有限子集。创建一个模块并导出它,然后从js代码中导入并调用它怎么样?复制/粘贴不一定是我喜欢的方法,它更多的是输出数千行。你在哪里读到过关于复制粘贴的讨论?我犹豫着问这个问题,但你知道什么是js模块吗?你可以使用emscripten的轻量级替代品,我不能推荐任何,但我已经看到了一些。但从我有限的经验来看,我相信emscripten在这个领域是最好的。开销可能来自包含的库和名称空间。您可以尝试在没有开销的情况下处理代码(但正如您所说,这可能会让人恼火),看看它是否有效,如果您不调用外部资源,它可能会有效。或者避免这些,看看它是否输出更少的开销。也许这个问题可以给你更多的见解。
bonsai-c
生成小型asm.js。但它只支持C.2018更新的有限子集,我认为这些选项现在被封装到-s环境中,即“web”、“worker”、“shell”或“node”之一。之前的建议是针对版本1.35.7的,此建议是针对2018年1.38.6更新的,我认为这些选项现在封装到-s环境中=其中一个“web”、“worker”、“shell”或“node”。之前的建议适用于1.35.7版,此建议适用于1.38.6版