返回介绍

博客

帮助文档

标准解释优化

发布于 2024-08-03 14:42:57 字数 4218 浏览 0 评论 0 收藏 0

:::tip

标准解释优化技术仅在商业化版本上可用。

:::

标准解释优化使用多种技术大幅提升了解释执行的性能,基础指令(如变量访问、数值计算)受益极大。

以数值计算指令为例,使用标准解释优化技术后性能有了质的飞跃,是原来的280%-735%!像一些特殊代码如typeof指令的性能,提升了1000%以上。

实现

标准解释优化使用了以下技术提升了解释性能。

  • 指令分发优化
  • 指令合并
  • 无用指令消除
  • 特殊instinct指令

性能报告

以下是OnePlus 9R ArmV8 实机测试报告,测试代码附录最后。

AOT耗时 vs 商业化版本耗时 vs 社区版本耗时 (越小越好)

data

商业化版本耗时/AOT耗时 vs 社区版本耗时/AOT耗时 (越小越好)

AOT版本性能是社区版本的4.1 - 90倍,是商业化版本的1.30 - 12.9倍。

data

商业化版本性能/社区版本性能 (越大越好)

商业化版本性能是社区版本的2.87-7.35倍。

data

商业化版本耗时/AOT版本耗时 (越小越好)

AOT版本性能是是商业化版本的1.30 - 12.9倍。

data

开启和关闭标准指令优化

默认已经开启标准优化,此设置为全局设置,对所有程序集包括补充元数据程序集都生效。

可以通过 RuntimeApi.EnableTransformOptimization函数主动开启或者关闭这个特性。


    /// 禁用标准指令优化
    void DisableCodeOptimization()
    {
        RuntimeApi.EnbleTransformOptimization(false);
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文