Stack Overflow Jobs возрождается в партнерстве с Indeed
Компания Stack Overflow запустила новый сайт вакансий, кобрендированный с Indeed. Он призван сделать тысячи актуальных вакансий легкодоступными для разработчиков.
Давайте сначала кое-что проясним. В официальном заявлении Wasmer говорится, что если перевести вашу программу на Webassembly с помощью py2wasm, то она будет работать "в 3 раза быстрее". Важно понимать, что это сравнение с CPython WASM (интерпретатор CPython внутри WebAssembly), а не с родным CPython. Таким образом, это улучшение по сравнению с текущим состоянием запуска Python-программ в WebAssembly.
С этим покончено, давайте перейдем к деталям.
Py2wasm - это фактически форк компилятора Nuitka, который компилирует Python в C, но адаптированный для эмуляции Webassembly. Однако форк существует изначально, поскольку Васмер задумывает py2wasm как тонкий слой поверх Nuitka. Чтобы доказать это, они пошли на то, чтобы открыть PR на Githubrepo Nuitka.
Использование Nuitka казалось самым простым вариантом ускорения работы с Python в контексте WebAssembly, в основном потому, что большая часть тяжелой работы по транспиляции кода Python в базовые вызовы интерпретатора CPython уже была проделана, так что с помощью всего лишь нескольких настроек разработчики могли заставить его работать для компиляции в WebAssembly. Другие варианты, которые Wasmer рассматривали до того, как решили использовать Nuitka, были следующими
И победителем стала Nuitka, потому что Nuitka работает, как уже говорилось, путем транспиляции вызовов Python, которые делает программа, в C, используя внутренние вызовы CPython API. С некоторыми изменениями она может создавать исполняемые файлы WebAssembly. Это означает, что вы можете запускать Python-программы не только в браузере, но и в целях, где поддерживается WebAssembly WASI.
Что касается WASI, то это WebAssembly System Interface, модульный системный интерфейс для WebAssembly (Wasm), который позволяет разработчикам запускать Wasm-программы на любой платформе, включая браузер, облако и периферию. WASI разработан как безопасный, быстрый и портативный интерфейс, позволяющий разработчикам писать свои программы один раз и запускать их в любом месте. В случае с Wasmer речь идет о переносе бэкенда Python Django из Google Cloud в Wasmer Edge.
Вот как можно использовать p2wasm :
$ pip install py2wasm
$ py2wasm myprogram. py -o myprogram. wasm
$ wasmer run myprogram. wasm
но после установки среды выполнения Wamer, что в Linux можно сделать следующим образом:
curl https://get.wasmer. io -sSfL | sh
а в Windows с помощью Powershell - как:
https://win.wasmer. io -useb | iex
Еще одно необходимое условие - наличие компилятора Си. Если в Linux это стандартное требование, то в Windows Nuitka работает с MinGW-w64, MSVC (Visual Studio) и Clang (через Visual Studio).
Одна оговорка - py2wasm должен работать в среде Python 3.11 и пока не поддерживает Python 3.12.
Учитывая это, Wasmer работает над тем, чтобы сделать py2wasm доступным в виде пакета Wasmer, чтобы сделать его еще более простым в использовании.
Компания Stack Overflow запустила новый сайт вакансий, кобрендированный с Indeed. Он призван сделать тысячи актуальных вакансий легкодоступными для разработчиков.
Компания GitLab выпустила публичные бета-версии функций интеграции с Google Cloud, о которых компания объявила в 2023 году.
Bedrock, полностью управляемый сервис Amazon для создания генеративных приложений ИИ, был дополнен поддержкой модели Anthropic Claude 3 Opus Foundation Model.
Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!
Только свежие новости программирования и технологий каждый день.
Комментарии