Portare la compilazione JIT nell'EVM La compilazione Just-in-Time (JIT) è frequentemente citata come un'idea interessante per ottimizzare l'EVM. Ma ci sono delle sfide: - è difficile ottenere che tutto il comportamento esatto (costi in gas, gestione degli errori) corrisponda. Ad esempio, anche se il codice è semplificato dal compilatore, i costi in gas originali devono essere preservati. - la compilazione è costosa, quindi non tutto dovrebbe essere compilato, e non può essere fatta al volo senza influenzare la latenza. - gli artefatti compilati sono molto più grandi del bytecode originale. - ottenere il massimo dal compilatore richiede creatività per affrontare aspetti unici del problema. È necessaria una tonnellata di ricerca, benchmarking e ottimizzazione ripetuta della generazione di codice macchina. Il team di @category_xyz ha perseverato e costruito un potente compilatore che affronta tutti questi problemi, consentendo al codice dei contratti di essere eseguito più velocemente e in modo più efficiente rispetto alle implementazioni EVM esistenti. Il client Monad analizza i contratti utilizzati frequentemente (misurando in base al gas cumulativo consumato) e memorizza nella cache il codice nativo in modo che le chiamate successive vengano eseguite in modo più efficiente. La compilazione avviene in modo asincrono; prima che la compilazione sia terminata, la VM esegue il codice utilizzando un interprete separato a bassa latenza e altamente ottimizzato. Questo è ora attivo su Monad Testnet a partire dall'aggiornamento di martedì! Controlla la documentazione per ulteriori informazioni, fresche di stampa. Grazie a @__inshorts e al resto del team di compilazione di Category Labs per un lavoro ben fatto!
64,06K