当前位置: 首页 > article >正文

WebAssembly技术实践

文章目录

  • 知识学习
    • 优点
  • 开启本地临时服务器
    • 方式一、命令安装
    • 方式二、直接在vscode的插件
  • 测试程序
  • 异常处理

最近在看WebAssembly相关的知识,在本地运行,记录下来,方便备查。

知识学习

WebAssembly是一种高性能二进制格式、用于在各种现代硬件上快速运行,与web生态系统无缝集成。2019年12月5日,其正式成为W3C标准,web的第四种语言(HTML、CSS、JavaScript)。
WebAssembly 使用费JavaScript编程语言编写代码并在浏览器上运行的技术方案,本质是一种新的字节码格式

优点

文件加载:体积更小,下载速度更快
编译和优化:在文件推送到服务器前已经进行更多优化
执行:更接近机器码,执行速度更快
垃圾回收:手动控制,不直接支持垃圾回收,比自动垃圾回收效率高
安全:可以放hash和签名等。
在这里插入图片描述
在浏览器中已经集成,可在console界面,直接调用 WebAssembly
在这里插入图片描述

开启本地临时服务器

两种安装方式,第一种是执行安装命令,第二种是在vscode里中直接安装 live server 插件。

//安装
npm install live-server -g
// 开启
live-server --port=2222

方式一、命令安装

使用 npm install 命令
在这里插入图片描述

方式二、直接在vscode的插件

在这里插入图片描述
在html文件右键 -> Open with Live Server 即用live server 打开,如下图所示。
在这里插入图片描述

测试程序

以斐波那契数列打印程序为例,测试WebAssembly

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="wifth=device-width,initial-scale=1.0">
        <title>测试</title>
    </head>
    <body>
        <script>
            function fib(x){
                if(x<=0) return 0;
                if(x<= 2) return 1;
                return fib(x-1) + fib(x-2);
            }
            console.time("测试斐波那契数列开始-速度");
            var ret = fib(40);
            console.time("测试斐波那契数列结束-速度");
        </script>
    </body>
</html>

打开服务器运行
在这里插入图片描述

异常处理

1、运行live-server报错,GET /favicon.ico 404
处理方案:
可复制图片,重命名为 favicon.ico,放到项目的根目录即可。


http://www.kler.cn/a/286770.html

相关文章:

  • Linux cron 定时任务查看执行情况
  • 算法随笔_18: 划分字母区间
  • 数据结构——实验一·线性表
  • U-Net - U型网络:用于图像分割的卷积神经网络
  • ROS2测试仿真
  • Docker网段和服务器ip冲突导致无法访问网络的解决方法
  • 通义说【线性代数】什么是线性
  • Git 基础使用--权限管理--用户和用户组授权
  • 【计算机网络】浏览器输入访问某网址时,后台流程是什么
  • 本地搭建和运行Whisper语音识别模型小记
  • 数分基础(04)EXCEL常用快捷键-中等规模数据不用拼命滚轮
  • 六、Selenium操作指南(三)
  • 深度学习速通系列:贝叶思和SVM
  • Python函数(12时间处理正则表达式)
  • Redis三种集群模式:主从模式、哨兵模式和Cluster模式
  • 中国文化艺术孙溟展浅析《绛帖》
  • k8s中emptyDir{}临时卷的作用原理
  • 【JVM】垃圾回收与安全点 学习记录
  • 鸿蒙( Beta5版)开发实战:基于AVCodecKit【音视频解码】
  • 数据仓库系列19:数据血缘分析在数据仓库中有什么应用?
  • Java、python、php版 保险业务管理与数据分析系统 社会保险档案管理系统(源码、调试、LW、开题、PPT)
  • 基于SSM+Vue+MySQL的二手房中介管理系统
  • 驱动(RK3588S)第二课时:引导程序和内核
  • Linux 软硬连接
  • Zynq之IIC使用示例
  • Multisim 仿真入门