Ruvy преобразует код Ruby в WebAssembly

автор vadim


Поставщик электронной коммерции Shopify открыл исходный код своего проекта Ruvy, который предоставляет цепочку инструментов, которая принимает код Ruby и создает модуль WebAssembly, который выполняет этот код Ruby.

Shopify считает, что Ruvy может быть полезен более широкому сообществу разработчиков, предоставляя простой способ создания и выполнения простых программ Ruby в среде выполнения WebAssembly. Представленный 18 октября и доступный на GitHub, Ruvy был создан для того, чтобы воспользоваться преимуществами повышения производительности за счет предварительной инициализации виртуальной машины Ruby и файлов Ruby, включенных в сценарий Ruby.

По словам Shopify, Ruvy не требует предоставления аргументов WASI (системный интерфейс WebAssembly) во время выполнения, отметив, что модули Ruvy Wasm требуют примерно на 70% меньше времени для компиляции в собственный код. Ruvy повышает производительность за счет предварительной инициализации виртуальной машины Ruby при сборке модуля Wasm.

Созданный на основе Ruby.wasm, набора портов CRuby для WebAssembly, Ruvy в настоящее время не поставляется с предварительно скомпилированными двоичными файлами, поэтому необходимо установить зависимости сборки, а затем перед использованием Ruvy необходимо скомпилировать. Подробности об установке этих зависимостей можно найти в разделе ReadMe проекта. После сборки Ruvy разработчики могут запустить:

$ cargo run --package=cli ruby_examples/hello_world.rb -o index.wasm 
$ wasmtime index.wasm 
Hello world

Файлы Wasm, созданные Ruvy, не требуют пути к файлу в качестве аргумента WASI. По словам Shopify, это способствует совместимости с вычислительными средами, которые нельзя настроить для предоставления дополнительных аргументов WASI для запуска функций, таких как некоторые службы периферийных вычислений.

Дальше читайте это:

  • Облачные вычисления больше не являются пустяком
  • Что такое генеративный ИИ? Искусственный интеллект, который создает
  • Программирование с помощью ИИ: советы и лучшие практики от разработчиков
  • Python пытается удалить GIL и повысить параллелизм
  • 7 причин, по которым Java по-прежнему хороша
  • Война за лицензирование открытого исходного кода окончена

Related Posts

Оставить комментарий