Внедрение JIT-компиляции в EVM Компиляция «по мере необходимости» (JIT) часто упоминается как интересная идея для оптимизации EVM. Но есть и проблемы: - трудно добиться точного соответствия всем аспектам поведения (расходы газа, обработка ошибок). Например, даже если код упрощается компилятором, оригинальные расходы газа должны быть сохранены. - компиляция затратна, поэтому не все должно быть скомпилировано, и это не может быть сделано на лету без влияния на задержку. - скомпилированные артефакты значительно больше оригинального байт-кода. - чтобы извлечь максимальную пользу из компилятора, требуется креативность для решения уникальных аспектов проблемы. Необходимо провести множество исследований, бенчмаркинга и повторной оптимизации генерации машинного кода. Команда @category_xyz преодолела все трудности и создала мощный компилятор, который решает все эти проблемы, позволяя коду контрактов выполняться быстрее и эффективнее, чем в существующих реализациях EVM. Клиент Monad анализирует часто используемые контракты (измеряя по накопленным расходам газа) и кэширует нативный код, чтобы последующие вызовы выполнялись более эффективно. Компиляция выполняется асинхронно; до завершения компиляции ВМ выполняет код, используя отдельный интерпретатор с низкой задержкой и высокой оптимизацией. Это теперь доступно в тестовой сети Monad с обновлением во вторник! Посмотрите документацию для получения дополнительной информации, только что вышедшей из печати. Спасибо @__inshorts и остальной команде компиляторов в Category Labs за отличную работу!
64,08K