草庐IT

Flutter AOT 与 JIT

coder 2023-07-23 原文

我的理解是Flutter是AOT编译的。可以将它编译为 JIT 而不是 AOT,它会工作吗?有什么开关可以做到这一点?

谢谢!

最佳答案

在开发模式下,Flutter 是即时编译的。这就是为什么我们可以如此快速地进行热重载/重启。在 Release模式下(当您发布应用程序时),您的代码会提前编译为 native 代码。这是为了更好的性能、最小的尺寸和删除其他在开发模式下有用的东西。

关于Flutter AOT 与 JIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55820915/

有关Flutter AOT 与 JIT的更多相关文章

  1. windows - 为什么 LLVM JIT 生成的入口点在 64 位 Windows 下如此冗长? - 2

    我正在Windows下玩LLVM,只是想通过构建一些示例程序来更好地理解它。目前,我正在查看HowToUseJIT。我注意到当我运行64位时,我得到了一个入口点,其中包含一些看起来非常疯狂的代码。它将rsi、rdi和xmm6-xmm15保存在堆栈中;然后设置rax和rcx;然后在最终调用调用链中的下一个函数之前恢复所有先前保存的值。这有充分的理由吗?或者它是否表明Windowsx64上的LLVM还没有完全准备好迎接黄金时段?编辑:这是与LLVM2.8一起使用的。我刚刚下载了当前在2.9分支上的内容,但它没有显示相同的行为。 最佳答案

  2. windows - llvm jit 窗口 8.1 - 2

    我正在尝试在VS2013编译的Windows8.1上运行斐波那契演示。到目前为止我解决了几个问题:1.目标文件格式不兼容-我在函数getDefaultFormat(constTriple&T)forwindows中将Triple::COFF更改为Triple::ELF2.缺少asm打印机-我添加了InitializeNativeTargetAsmPrinter()3.内存保护-我手动将VirtualProtect设置为PAGE_EXECUTE(它没有设置,我不知道它应该如何工作)现在我可以运行生成的代码了,但是它崩溃了,这里是反汇编代码:000000EC4B890000推送rsi000

  3. windows - Windows 10 上的 LuaJIT : unknown luaJIT command or jit. * - 2

    在officialguide之后的一段时间里,我一直在尝试在Windows10上安装LuaJIT。,我实际上开始安装它。例如,如果我执行luajit我进入提示。另外,luajit-v返回luajit(2.0.4)的版本。我还可以使用luajit-e执行代码.但是,每当我尝试使用luajit-b保存字节码时,我收到以下消息:luajit:未知的luaJIT命令或jit.*模块未安装我尝试进行各种安装:使用Cygwin,luajit-rocks,MinGW,...但是,无论我尝试什么,我总是得到相同的结果,而且我不知道该怎么做。您能指出一些我可能忽略的潜在问题吗?我的系统上有Lua5.1和

  4. c# - 检索 JIT 输出 - 2

    我有兴趣查看C#程序(不是CLR字节码指令)的实际x86程序集输出。有什么好的方法吗? 最佳答案 在VisualStudio中调试应用程序时,您可以右键单击已停止(使用断点)的代码,然后单击“转到反汇编”。您可以通过native指令进行调试。至于使用磁盘上的*.exe文件,也许你可以使用NGen生成native输出然后反汇编它(虽然我从未尝试过,所以我不能保证它会起作用)。以下是用C#编写的简单算术运算的一些示例操作码:intx=5;movdwordptr[ebp-40h],5inty=6;movdwordptr[ebp-44h],

  5. c# - 有没有办法让 .Net JIT 或 C# 编译器优化掉空的 for 循环? - 2

    Does.NETJIToptimizeemptyloopsaway?的跟进:下面的程序只运行一个空循环十亿次并打印出运行时间。在我的机器上需要700毫秒,我很好奇是否有办法让抖动优化空循环。usingSystem;namespaceConsoleApplication1{classProgram{staticvoidMain(){varstart=DateTime.Now;for(vari=0;i据我所知,答案是否定的,但我不知道是否有我可能没有尝试过的隐藏编译器选项。我已经确保在Release模式下编译并在没有附加调试器的情况下运行,但仍然需要700毫秒来运行这个空循环。我也尝试了N

  6. c# - JIT 编译器是编译器还是解释器? - 2

    我的问题是将IL转换为机器语言的JIT编译器到底是编译器还是解释器。还有一个问题:HTML、JavaScript是编译型语言还是解释型语言?提前致谢 最佳答案 JIT(justintime)编译器是一种编译器。它进行优化以及编译为机器代码。(甚至称为编译器)HTML、Javascript被解释,它们由Web浏览器按原样读取,并以最少的错误修复和优化运行。 关于c#-JIT编译器是编译器还是解释器?,我们在StackOverflow上找到一个类似的问题: htt

  7. c# - JIT 编译器的 IL 优化 - 2

    我正在开发一个发出IL代码的编译器。重要的是,生成的IL由Mono和Microsoft.NETJIT编译器JIT为尽可能最快的机器代码。我的问题是:优化以下模式是否有意义:'stloc.0;ldloc.0;ret'=>'ret''ldc.i4.0;conv.r8'=>'ldc.r8.0'等等,或者JIT是否足够聪明来处理这些?是否有包含Microsoft/MonoJIT编译器执行的优化列表的规范?是否有任何关于优化IL的实用建议/最佳实践的好读物,以便JIT编译器可以反过来生成最佳机器代码(性能方面)? 最佳答案 您描述的两种模式是

  8. c# - .NET JIT 编译器可变优化 - 2

    https://msdn.microsoft.com/en-us/magazine/jj883956.aspxConsiderthepollinglooppattern:privatebool_flag=true;publicvoidRun(){//Set_flagtofalseonanotherthreadnewThread(()=>{_flag=false;}).Start();//Pollthe_flagfielduntilitissettofalsewhile(_flag);//Theloopmightneverterminate!}Inthiscase,the.NET4.5J

  9. c# - 强制 .NET JIT 编译器在应用程序启动期间生成最优化的代码 - 2

    我正在用C#编写一个DSP应用程序(基本上是一个多轨编辑器)。我已经在不同的机器上对它进行了很长一段时间的分析,我注意到了一些“奇怪”的事情。在我的家用机器上,播放循环的第一次运行占用了大约50%-60%的可用时间(我假设这是由于JIT完成它的工作),然后对于后续循环,它下降到稳定的5%消耗。问题是,如果我在较慢的计算机上运行该应用程序,第一次运行会占用比可用时间更多的时间,导致播放中断并弄乱输出音频,这是NotAcceptable。之后,它会下降到8%-10%的消耗。即使在第一次运行后,应用程序仍然不时调用一些耗时的例程(大约每2秒一次),这导致稳定的5%消耗经历了20%-25%的非

  10. c# - 在 .NET 中,为什么常量在编译时而不是在 JIT 时求值? - 2

    今天,当我更改静态类中公开可见常量的值,然后用新编译的版本替换程序集的旧副本时,我有点吃惊。令人惊讶的是,引用程序集的现有程序没有获取常量的新值。也就是说,我没有重新编译可执行文件,而是只是替换了那个程序集。我的实验的完整描述位于Howconstantisaconstant?我承认我对这种行为感到非常惊讶。我明白发生了什么,但我不明白为什么。是否有特殊的技术原因导致无法在JIT时间而不是编译时间获取常量?在某些情况下这样做会破坏事情吗? 最佳答案 常量应该是常量。对于所有时间。常量是诸如pi的值或铅原子中的质子数之类的东西。如果你的

随机推荐