相关疑难解决方法(0)

实时(JIT)编译器做什么?

与非JIT编译器相比,JIT编译器具体做什么?有人可以给出一个简洁易懂的描述吗?

compiler-construction jit compilation

495
推荐指数
9
解决办法
23万
查看次数

为什么HTML/JavaScript/CSS不是编译语言,它们会是什么?

为什么HTML/JavaScript/CSS不会成为编译语言(甚至可能合并为一种编译语言)?如果浏览器运行"浏览器虚拟机"和html/javascript/css源可以通过编译为"浏览器字节码"怎么办?它不会对开发人员和用户有很大帮助吗?

我可以看到一些挑战:

  1. 如何处理数以万计的现有页面?使这个编译可选,所以如果你想要你可以使用普通的旧HTML.如果您想为浏览器提供已编译的页面,请使用.chtml.

  2. 搜索提供商如何索引页面?制作一个可以将字节码反编译为精确原始源的反编译器(例如像flash一样可以反编译).或者搜索提供商可以使用相同的虚拟机并从中获取所需的数据.

  3. 如何使其与所有浏览器兼容?有一个集中开发人员(比方说w3c)来开发这个虚拟机,然后每个浏览器都会嵌入它.

但是好处呢?

  1. 速度.
  2. 尺寸.
  3. 没有更多"松散"和"半正确"的HTML.它是正确的还是不会编译.
  4. 在每个(支持的)浏览器中看起来都一样.

如果不是字节码,那么至少有一些原生压缩,html可能不是最有效的数据存储方式.我知道有gzip但是为什么每次在服务器上压缩页面并在浏览器中解压缩,如果我们可以压缩一次并将其提供给浏览器?

那么是什么阻止我们走这条路(好吧,除了付出巨大努力才能实现这一切)?

html compiler-construction interpreted-language

40
推荐指数
2
解决办法
3万
查看次数

即时编译器和解释器之间有什么区别?

Just-in-Time-Compiler和Interpreter之间有什么区别,.NET和Java JIT编译器之间有区别吗?

.net java compiler-construction interpreter jit

34
推荐指数
5
解决办法
2万
查看次数

V8 中 JIT 编译的混淆

我在研究 V8 的内部工作原理时遇到了术语 JIT 编译器。最初,我在这篇文章https://www.quora.com/How-does-the-JIT-compiler-work-in-JS中读到V8 中的 JIT 编译器称为“Ignition”,即解释器。然后,我得出结论,JIT 编译器只是解释器。但后来我发现了另一篇文章https://blog.logrocket.com/how-javascript-works-optimizing-the-v8-compiler-for-efficiency/将 jit-compilation 描述为解释器和编译器的组合。伙计们,JIT 编译器真的是解释器和编译器的结合吗?或者 JIT 编译器只是解释器吗?

javascript v8

2
推荐指数
1
解决办法
1715
查看次数