Wasmer میگوید py2wasm از Nuitka استفاده میکند تا برنامههای پایتون را به WebAssembly تبدیل کند و آنها را با سرعت ۳ برابر بیشتر اجرا کند.
سازنده زمان اجرا WebAssembly Wasmer از py2wasm پرده برداری کرده است، یک کامپایلر Python-to-WebAssembly که برنامه های Python را به WebAssembly (معروف به Wasm) تبدیل می کند. فرمت دستورالعمل باینری.
با استفاده از فورکی از کامپایلر Nuitka Python، py2wasm برنامههای پایتون را به Wasm تبدیل میکند و به آنها اجازه میدهد بدون سربار مفسر اجرا شوند. . سیروس اکبری بنیانگذار و مدیر عامل Wasmer در پست وبلاگ. اکبری گفت که py2wasm حدود ۷۰ درصد از سرعت پایتون بومی را دریافت می کند و حدود ۲.۵ برابر تا ۳ برابر سریعتر از مفسر پایتون است.
واسمر از Nuitka برای سرعت بخشیدن به پایتون در WebAssembly استفاده کرد، زیرا بیشتر کار سخت از قبل برای انتقال کد پایتون به فراخوانی های مفسر زیرزمینی CPython انجام شده بود. اکبری گفت که Nuitka با انتقال فراخوانی های پایتون یک برنامه به C، با استفاده از فراخوانی های داخلی CPython API کار می کند. Nuitka از اکثر برنامههای پایتون پشتیبانی میکند، و همچنین میتواند بهعنوان مبهمکننده کد کار کند و مانع از کامپایل کردن برنامه توسط هر کسی شود.
از آنجایی که Nuitka هنوز با Python 3.12 کار نمی کند، Wasmer مجبور شد پایتون را به Python 3.11 در WASI (واسط سیستم های WebAssembly) کامپایل کند و از libpython تولید شده استفاده کند. بایگانی .a
. سپس Nuitka می تواند از این کتابخانه در هنگام هدف قرار دادن WASI و WebAssembly برای ساخت فایل اجرایی استفاده کند. به گفته اکبری، از آنجایی که ترانسپایلر Nuitka در معماری ۶۴ بیتی اجرا می شود اما کد تولید شده در معماری ۳۲ بیتی اجرا می شود، باید کار برای تعمیر نمونه اولیه انجام شود.
سردار یگلالپ، نویسنده ارشد InfoWorld در این گزارش مشارکت داشت.
پست های مرتبط
Wasmer از کامپایلر Python to Wasm رونمایی کرد
Wasmer از کامپایلر Python to Wasm رونمایی کرد
Wasmer از کامپایلر Python to Wasm رونمایی کرد