Trazendo a compilação JIT para a EVM A compilação Just-in-Time (JIT) é frequentemente citada como uma ideia interessante para otimizar a EVM. Mas existem desafios: - é difícil fazer com que todo o comportamento exato (cobranças de gás, tratamento de erros) corresponda. Por exemplo, mesmo que o código seja simplificado pelo compilador, as cobranças de gás originais devem ser preservadas - a compilação é cara, então nem tudo deve ser compilado, e não pode ser feita em tempo real sem afetar a latência - os artefatos compilados são muito maiores do que o bytecode original - tirar o máximo proveito do compilador requer criatividade para abordar facetas únicas do problema. Há uma tonelada de pesquisa, benchmarking e otimização repetida da geração de código de máquina necessária A equipe @category_xyz superou esses desafios e construiu um compilador poderoso que aborda todos esses problemas, permitindo que o código do contrato seja executado mais rápido e de forma mais eficiente do que nas implementações existentes da EVM. O cliente Monad analisa contratos frequentemente usados (medindo pelo gás acumulado consumido) e armazena em cache o código nativo para que chamadas subsequentes sejam executadas de forma mais eficiente. A compilação é executada de forma assíncrona; antes que a compilação termine, a VM executa o código usando um interpretador separado de baixa latência e altamente otimizado. Isso já está ativo na Monad Testnet desde a atualização de terça-feira! Confira a documentação para mais informações, quentinha do forno. Agradecimentos a @__inshorts e ao restante da equipe de compiladores da Category Labs pelo excelente trabalho!
64,12K