首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart:快照与AOT

Dart:快照与AOT
EN

Stack Overflow用户
提问于 2019-07-22 20:57:34
回答 1查看 1.1K关注 0票数 7

我搜索了很多关于这门伟大语言的内容,并在https://github.com/dart-lang/sdk/wiki/Snapshots页面上找到了自己,但它没有回答一些问题:

  • 快照和AOT有什么区别?哪个更快,为什么?
  • 为什么在Windows机器上生成的AOT不是运行在Linux上,而是通过dart --snapshot_kind=kernel生成的快照运行呢?什么是“内核”?慢点了吗?
  • 内核快照和JIT快照有什么不同?哪个更快?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-23 08:09:13

  • 使用快照,代码中没有任何东西(内核快照)或代码的一部分(JIT快照)被预编成二进制格式。使用AOT,所有的代码都会被预编译成二进制(特定于平台的)格式。预编译二进制代码(AOT)速度更快,因为不需要在运行时编译代码。
  • 如上所述,AOT编译代码被转换为特定于平台的二进制代码。因此,您不能在Linux机器上运行为Windows编译的程序AOT。有了内核快照,您的代码就不会被预编译.因此,它在平台之间是可移植的,但必须在运行时编译。所以是的,这比较慢。
  • 同样,正如上面提到的,使用内核快照,您的代码中没有任何东西会得到预编译。使用JIT快照,程序将在测试运行中执行,执行的代码的每一部分都将被预编译成平台特定的二进制格式。所以JIT快照比内核快照更快。
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57153618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档