【问题标题】:How is Mono AOT / mkbundle used and optimized? (for reducing VM startup latencies)Mono AOT / mkbundle 是如何使用和优化的? (用于减少 VM 启动延迟)
【发布时间】:2010-06-09 06:39:51
【问题描述】:

我想看看是否可以通过使用 Mono 的 AOT(提前编译器)来减少 VM 延迟。如何运行 .so 文件? (抱歉,这个问题太初级了;我在 Mono 的文档中找不到简单的答案)。

我想出了如何使用 mkbundle(在本例中为 mkbundle2),但生成的文件是否正在优化? Mono AOT 文档提到了“-O=all,-shared”标志,但我没有看到 mkbundle 的这些标志。

虽然这可能是一个完全不同的答案,但如果有保持 VM 开放的好方法(使用比 fifo 特殊文件更自然/平台中立的东西),那可能是最好的。

提前致谢!

【问题讨论】:

    标签: f# mono mkbundle


    【解决方案1】:

    如果 AOT .so 文件存在于 exe/dll 文件旁边,Mono 将在您运行 exe 时使用它们。但是你仍然需要 dll/exe 文件来存储元数据和无法 AOT 编译的东西。

    【讨论】:

    • 好的,太好了,谢谢!不幸的是,Mono 现在似乎在某个地方崩溃了,但希望将来会修复该错误(以下错误)。 Microsoft.FSharp.Collections.FSharpList>>没有实现接口 System.Collections.Generic.IEnumerable>
    【解决方案2】:

    不确定它是否与您的问题完全相关,但请参阅此处的最后说明

    http://blogs.msdn.com/b/dsyme/archive/2010/02/10/detailed-release-notes-for-f-february-2010-release.aspx

    关于编译器的 --resident 标志,以使 fsc.exe 在 Mono 上更快。

    【讨论】:

    • 那是用于编译的,我对应用程序启动延迟感兴趣。不过谢谢。
    猜你喜欢
    • 2012-06-25
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多