博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebAssembly是什么?
阅读量:5104 次
发布时间:2019-06-13

本文共 690 字,大约阅读时间需要 2 分钟。

现在的JavaScript代码要进行性能优化,通常使用一些常规手段,如:延迟执行、预处理、setTimeout等异步方式避免处理主线程,高大上一点的会使用WebWorker。即使对于WebWorker也仅仅是解决了阻塞主线程的问题,但是对于JavaScript计算性能慢的问题并没有解决。这里对一些需要密集计算的场景我给大家推荐一个神器——WebAssembly。在目前阶段,WebAssembly 适合大量密集计算、并且无需频繁与 JavaScript 及 DOM 进行数据通讯的场景。比如游戏渲染引擎、物理引擎、图像音频视频处理编辑、webVR、加密算法等

WebAssembly是一种运行在现代网络浏览器中的新型代码并且提供新的性能特性和效果。它设计的目的不是为了手写代码而是为诸如C、C++和Rust等低级源语言提供一个高效的编译目标。WebAssembly的模块可以被导入的到一个网络app(或Node.js)中,并且暴露出供JavaScript使用的WebAssembly函数。JavaScript框架不但可以使用WebAssembly获得巨大性能优势和新特性,而且还能使得各种功能保持对网络开发者的易用性。这是来自MDN的介绍。但你是不是看了官方介绍也不知道WebAssembly到底是个什么东西呢,没关系开始我也这么觉得。简单来说WebAssembly就是浏览器提供的一项直接运行二进制机器代码的能力。这些机器代码怎么来呢,是通过C、C++或Rust等语言编译来的。

转载于:https://www.cnblogs.com/ckAng/p/9293614.html

你可能感兴趣的文章
Js获取当前日期时间及其它操作
查看>>
理解Linux系统负荷(WDCP系统后台参数之一)
查看>>
07.验证码处理,云打码平台
查看>>
Mysql:输出到文件
查看>>
centos 网卡配置
查看>>
关于 URL 编码及 JavaScript 编码函数【转载+整理】
查看>>
分布式文件系统HDFS 练习
查看>>
nhibernate 比较运算符
查看>>
smarty section foreach遍历多维数组
查看>>
倍增lca-ZJOI2012 灾难
查看>>
Mice and Holes 单调队列优化dp
查看>>
Gson常用方法
查看>>
不知道哪找的题
查看>>
对软件工程的认识以及不懂的问题
查看>>
ubuntu12.04 (32/64 bits) 安装配置 arm-linux-gcc-4.5.1 交叉编译工具链
查看>>
第三天(学习笔记)
查看>>
JS代码片段整理
查看>>
西瓜书课后习题——第三章
查看>>
MySQL之事务以及存储过程
查看>>
[QT]构建正则表达式测试
查看>>