Discuz! Board

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 1|回復: 0

WebAssembly:解决 Web 上的性能问题

[複製鏈接]

1

主題

1

帖子

5

積分

新手上路

Rank: 1

積分
5
發表於 18:05:03 | 顯示全部樓層 |閱讀模式
在现代 JavaScript 中,目标通常是找到各种方法来优化浏览器的性能。有时,Web 应用程序需要高性能并希望浏览器能够跟上。 Play Next Unmute Current Time 0:05 / Duration 2:00 Fullscreen Backward Skip 10s Play Video Forward Skip 10s 由于引擎处理语言的方式,传统 JavaScript 存在性能限制。作为页面一部分呈现的解释型(甚至是 JIT 编译型)语言只能得到这么多——即使是从最强大的硬件中也是如此。 WebAssembly的设计初衷就是为了解决性能问题。它可以克服传统 JavaScript 无法解决的瓶颈问题。在 WebAssembly 中,无需解析和解释代码。WebAssembly 充分利用其字节码格式,为您提供与本机程序相匹配的运行速度。 换个角度思考:将传统 JavaScript 想象为一个优秀的通用工具,可以帮助您到达任何地方。

相比之下,WebAssembly 是能够实现接近本机速度的高性能解决方案。这是两个独立的编程工具,现在可供您使用。 我的问题是:WebAssembly 是否会取代传统的 JavaScript?如果不是,那么学习 WebAssembly 值得投资吗? 什么是 WebAssembly? Learn to Code with JavaScript WebAssembly 是一种可以发 WhatsApp 号码数据 送到浏览器的不同类型的代码。它采用字节码格式,这意味着它在到达浏览器时以低级汇编语言传送。字节码不适合手工编写,而是可以从任何编程语言(例如 C++ 或 Rust)编译。然后,浏览器可以获取任何 WebAssembly 代码,将其作为本机代码加载,并实现高性能。 您可以将此 WebAssembly 字节码视为一个模块:浏览器可以获取该模块、加载它并执行它。每个 WebAssembly 模块都具有导入和导出功能,其行为很像 JavaScript 对象。



模块的行为与任何其他 JavaScript 代码非常相似,只是它以接近本机的速度运行。从程序员的角度来看,您可以像使用当前 JavaScript 对象一样使用 WebAssembly 模块。这意味着您已经了解的有关 JavaScript 和 Web 的知识也可以转移到 WebAssembly 编程中。 WebAssembly 工具通常由 C++ 编译器组成。目前开发中的工具有很多,但已经成熟的工具是Emscripten。该工具将 C++ 代码编译为 WebAssembly 模块,并构建可在任何地方运行的符合标准的模块。编译后的输出将具有 WASM 文件扩展名,表明它是一个 WebAssembly 模块。 WebAssembly 的优点之一是,当您获取模块时,您拥有所有相同的 HTTP 缓存标头。另外,您可以使用 IndexedDB 缓存 WASM 模块,也可以使用会话存储缓存模块。


回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|自動贊助|z

GMT+8, 08:53 , Processed in 0.846655 second(s), 302 queries .

抗攻擊 by GameHost X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表
一粒米 | 中興米 | 論壇美工 | 設計 抗ddos | 天堂私服 | ddos | ddos | 防ddos | 防禦ddos | 防ddos主機 | 天堂美工 | 設計 防ddos主機 | 抗ddos主機 | 抗ddos | 抗ddos主機 | 抗攻擊論壇 | 天堂自動贊助 | 免費論壇 | 天堂私服 | 天堂123 | 台南清潔 | 天堂 | 天堂私服 | 免費論壇申請 | 抗ddos | 虛擬主機 | 實體主機 | vps | 網域註冊 | 抗攻擊遊戲主機 | ddos |