Creador de tiempo de ejecución de WebAssembly wasmer ha presentado py2wasm, un PitónCompilador -to-WebAssembly que transforma programas Python al Asamblea web (también conocido como Wasm) formato de instrucción binaria.
Usando un tenedor del Compilador Nuitka Python, py2wasm convierte programas Python a Wasm, lo que les permite ejecutarse sin sobrecarga del intérprete. Introducido el 18 de abril, py2wasm aborda una situación en la que el rendimiento de los programas Python en WebAssembly no ha sido ideal, escribió el fundador y director ejecutivo de Wasmer, Syrus Akbary, en un entrada en el blog. Akbary dijo que py2wasm obtiene aproximadamente el 70% de la velocidad nativa de Python y es entre 2,5 y 3 veces más rápido que el intérprete de Python.
Wasmer usó Nuitka para acelerar Python en WebAssembly porque la mayor parte del trabajo duro ya estaba hecho para transpilar el código Python en llamadas de intérprete CPython subyacentes. Nuitka funciona transpilando las llamadas de Python de un programa a C, utilizando llamadas API internas de CPython, dijo Akbary. Nuitka es compatible con la mayoría de los programas Python y también puede funcionar como ofuscador de código, evitando que alguien descompile un programa.
Porque Nuitka aún no trabaja con Pitón 3.12Wasmer tuvo que recompilar Python a Python 3.11 para WASI (Interfaz de sistemas WebAssembly) y utilizar el generado libpython.a
archivo. Luego, Nuitka podría usar esta biblioteca cuando apunte a WASI y WebAssembly para crear el ejecutable. Debido a que el transpilador de Nuitka se ejecutó en una arquitectura de 64 bits pero el código generado se ejecutó en una arquitectura de 32 bits, hubo que trabajar para arreglar el prototipo, dijo Akbary.
El redactor principal de InfoWorld, Serdar Yegulalp, contribuyó a este informe.
Copyright © 2024 IDG Communications, Inc.