JIT コンパイルを EVM に導入する ジャストインタイム (JIT) コンパイルは、EVM を最適化する方法に関する興味深いアイデアとして頻繁に引用されます。 しかし、課題もあります。 - すべての正確な動作 (ガス料金、エラー処理) を一致させるのは困難です。たとえば、コンパイラによってコードが簡略化された場合でも、元のガス料金は保持されなければなりません - コンパイルは高価であるため、すべてをコンパイルする必要はなく、レイテンシーに影響を与えずにその場で実行することはできません - コンパイルされたアーティファクトは、元のバイトコードよりもはるかに大きい - コンパイラを最大限に活用するには、問題の固有の側面に対処するための創造性が必要です。マシンコード生成には、大量の調査、ベンチマーク、および繰り返しの最適化が必要です @category_xyzチームは、これらすべての問題に対処する強力なコンパイラを強化および構築し、コントラクト コードを既存の EVM 実装よりも高速かつ効率的に実行できるようにしました。 Monad クライアントは、頻繁に使用されるコントラクトを分析し (消費された累積ガスで測定)、ネイティブコードをキャッシュして、後続の呼び出しがより効率的に実行されるようにします。 コンパイルは非同期に実行されます。コンパイルが完了する前に、VM は別の低待機時間で高度に最適化されたインタープリターを使用してコードを実行します。 これは火曜日のアップグレードの時点で Monad Testnet で公開されています。 追加情報については、印刷機のホットオフに関するドキュメントをご覧ください。@__inshortsとCategory Labsのコンパイラチームの残りのメンバーに感謝します!
64.13K