本文介绍了 Nethermind 团队的 IL-EVM 项目,该项目旨在通过将 EVM 代码动态转换为 .NET 中间语言并进行实时优化来提高 EVM 的效率。项目包括实现 LOG0-LOG4 操作码,生成 2-7 个操作码模式的统计信息,并根据统计信息实现常见的操作码模式,最后进行测试和修复 bug。
进行 EVM 优化项目有许多内在和外在的动机。
我的项目的目标是与 Nethermind 正在进行的项目 IL-EVM 的近期目标保持一致。IL-EVM 旨在通过将超过特定阈值的合约的 EVM 代码段动态转换为 .NET 的中间语言来提高 EVM 的效率。此外,它采用 .NET 堆栈而不是 EVM 堆栈来执行 EVM 操作,并且在运行时生成的 IL 代码会经过即时编译,然后由 .NET 运行时实时优化为本机机器代码。该项目包含一个代码分析器,可以检查代码中是否存在特定模式的实例,并确定何时应分析智能合约是否存在模式以及何时应编译它。以下是项目演示中的一些幻灯片,其中概述了 IL-EVM 的现有组件和潜在的优化思路。
我的项目任务按优先级顺序可分为以下几类:
周次 | 任务 1 (40%) |
---|---|
Week 6-8 | 实现 5 个 LOG0 - LOG4 指令 |
Week 8-10 | 开始开发 n-gram 统计工具 |
Week 10-12 | 统计工具 |
Week 12-14 | " |
Week 14-16 | 编写 2 个指令码实现 |
Week 16-18 | 2-7 个 Op code 实现和统计 |
Week 18-20 | 测试 |
Week 20-21+ | Devcon 演示 |
完成上述大部分任务,并在任何剩余任务上取得良好进展。
- 原文链接: github.com/eth-protocol-...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!