既然 js 作为一个动态编译语言,效率是它的缺点之一
那能否通过在浏览器加载“编译”之后的 js,在浏览器只将编译之后的 js 转换成机器码,这样会否提高 js 的执行效率呢?
既然 js 作为一个动态编译语言,效率是它的缺点之一
那能否通过在浏览器加载“编译”之后的 js,在浏览器只将编译之后的 js 转换成机器码,这样会否提高 js 的执行效率呢?
|
klhJul 23, 2019
1
现在应该浏览器也是在本地“编译” js
|
|
runzeJul 23, 2019
2
1、浏览器本来就会“编译”
2、asm.js 了解一下? 3、WebAssembly 了解一下? |
|
3
|
|
singleQJul 23, 2019 via Android
4
jit 了解下
|
|
blodsideJul 23, 2019
6
你说的就是 WebAssembly,用这项技术使得现在可以在浏览器运行 windows 了。
在浏览器里运行 win2000,原理是用 WebAssembly 跑 qemu: https://bellard.org/jslinux/vm.html?url=https://bellard.org/jslinux/win2k.cfg&mem=192&graphic=1&w=800&h=600 |
|
dremyJul 23, 2019 via iPhone
7
加载编译后的二进制文件,会变得很大,影响加载速度
|
|
flowfireJul 23, 2019 via iPhone
8
webassembly 了解一下,另外 js 是动态类型,很难预先优化编译,目前 v8 已经做到很好了
|
|
maichaelJul 23, 2019
9
js 是动态编程语言,不是“动态编译”语言,选择用解释器,编译器,又或者是 JIT 这种模式来运行,跟语言是无关的。
|
|
misaka19000Jul 23, 2019
10
V8 有 JIT 吧,执行效率已经很高了
|
|
nigelvonJul 23, 2019
11
动态编译不是语言问题,弱类型才是语言问题。
|
|
mystorpJul 23, 2019
12
新出的 quickjs 就是这样,了解一下
|
|
sunjourneyJul 23, 2019
13
既然 js 作为一个动态编译语言,效率是它的缺点之一
笑了 |
|
azh7138mJul 23, 2019 via Android
14
|
|
otakustayJul 23, 2019
15
JS 有一个 bytecode 的提案,现在不知道 stage 几了……用 js 做 wasm 不见得比 js 快就是了
|
|
loveJul 23, 2019 via Android
16
js 瓶颈完全不在执行效率。
要说缺点,现在只剩下了对各种错误太宽容了,如果像 python 这种程度就可以了,这样想动态就直接用,想静态就用 ts,完美了 |
|
serge001Jul 26, 2019
17
js 是可以预先成编译成字节码然后在 node 中运行的,可以搜 node 编译 字节码
|