代码之家  ›  专栏  ›  技术社区  ›  itminus

如何减小aspnet/blazor编译的dll/wasm的大小?

  •  0
  • itminus  · 技术社区  · 6 年前

    我注意到 *.wasm Rust 可以接受。但是,由 AspNet/Blazor 将占用近280万字节。

    mono.wasm       1.75MB
    mscorlib.dll    1.64MB
    *.dll           ....
    

    如果我理解正确 mono.wasm

    1 回复  |  直到 6 年前
        1
  •  6
  •   ColinE    6 年前

    是的,2.8mbytes对于“helloworld”应用程序来说是相当大的有效负载。然而,Blazor在很大程度上仍然是一种实验性的技术,还没有准备好投入生产使用。目前产生的产出如此之大的原因有很多:

    mono.wasm 文件将CLR发送到浏览器,允许它执行DLL。一种更快、更高效的方法是使用提前编译(AOT) as described in this article . 这将允许编译器去掉任何未使用的库函数,从而提供高度优化的输出。

    garbage collection 以及Blazor可以直接使用的各种其他功能。目前 单声道wasm 包括自己的垃圾收集器。

    Blazor项目本身有一个 number of open issues 描述正在积极进行的各种优化。它已经执行了摇树和其他各种优化,但这类工作需要时间。

    推荐文章