推荐热点事件
JIT 编译器是什么?JavaScript 为啥能“跑得像风一样快”?
你打开网页,点了个按钮,动画唰地就出来了,一点儿不卡。十年前这场景想都不敢想,那时候JavaScript慢得像老牛拉破车。现在它为啥能跑得跟风似的?JIT编译器在背后使了把劲儿。
JIT全称“即时编译器”,和传统编译器不一样。传统编译器提前把代码翻译成机器能懂的语言,JIT编译器却是边跑边翻译。JavaScript引擎拿到代码,先让解释器快速执行,同时盯着哪些代码被反复使用。热门的代码段立刻被JIT抓去编译成机器码,下次再遇到直接跑机器码,省了解释的功夫。
这招像极了路边摊老板的生意经。刚开始顾客点啥现做,后来发现煎饼果子卖得最火,干脆提前备好料,有人要立马打包。速度自然快了一大截。V8引擎里的JIT就这么干活,把JavaScript从“慢半拍”变成了“快如闪电”。
当然,天下没有免费的午餐。JIT编译要消耗内存和CPU,手机电量哗哗掉的时候可能偷偷降频。但比起过去纯解释执行的时代,这点代价不值一提。下次刷网页感觉流畅,别忘了是JIT在暗地里拼命转齿轮呢。
本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.carzhishi.com/rdsj/16348.html