Dynamsoft JavaScript Barcode SDK性能解析
Dynamsoft JavaScript Barcode SDK是基于WebAssembly实现的。它的优势在于可以直接运行在任何平台的任何浏览器中。然而不同的浏览器,对WebAssembly的支持以及性能表现也是不同的。
不同浏览器的性能数据
影响WebAssembly的因素包括网络连接,硬件配置,以及浏览器。
Android
在安卓设备上,浏览器推荐使用Firefox
。Firefox
的性能要优于Chrome
。
设备 | 浏览器 | 首次加载耗时(ms) | 缓存加载耗时(ms) | 条码检测平均耗时(ms) |
---|---|---|---|---|
HUAWEI Mate20 CPU: Hisilicon Kirin 980 | Chrome 70 | 4,998 | 3,873 | 234 |
HUAWEI Mate20 CPU: Hisilicon Kirin 980 | Firefox 63 | 1,617 | 319 | 267 |
iOS
iOS设备建议iPhone 7
以上,浏览器使用Safari
。
设备 | 浏览器 | 首次加载耗时(ms) | 缓存加载耗时(ms) | 条码检测平均耗时(ms) |
---|---|---|---|---|
iPhone 7 | Safari 11.4 | 6,936 | 5,647 | 485 |
iPhone X | Safari 12.1 | 4,211 | 4,001 | 378 |
桌面
在Windows
, Linux
和macOS
上运行主流浏览器,性能比较接近。
设备 | 浏览器 | 首次加载耗时(ms) | 缓存加载耗时(ms) | 条码检测平均耗时(ms) |
---|---|---|---|---|
Win10 CPU: i7-4790 | Chrome Version 70 (64-bit) | 546 | 485 | 253 |
Win10 CPU: i7-4790 | Firefox Quantum 63 (64-bit) | 220 | 122 | 219 |
Win10 CPU: i7-4790 | Microsoft Edge 42 | 339 | 112 | 1,778 |
Ubuntu: 16.0.4 | Firefox Quantum 63 (64-bit) | 396 | 238 | 256 |
Mac: 10.13.6 | Safari 12 | 4,540 | 4,455 | 213 |
Mac: 10.13.6 | Firefox Quantum 63 (64-bit) | 290 | 195 | 272 |
Mac: 10.13.6 | Chrome 71 (64-bit) | 975 | 878 | 292 |
为什么Firefox的表现会优于Chrome?
Firefox
Firefox
支持把编译之后的wasm模块缓存到IndexedDB
中。这样通过缓存加载不需要再编译。
首次加载
缓存加载
Chrome
Chrome
只能把wasm文件缓存到IndexedDB
中,通过缓存加载的时候需要耗费编译的时间。
首次加载
缓存加载