PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表

今回は「PythonのコードをWebAssemblyにコンパイルする「py2wasm」、Wasmerが発表」についてご紹介します。

関連ワード (公開、対応、非常等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


WebAssemblyランタイムの開発と提供を行っているWasmer社は、PythonのコードをWebAssemblyバイナリにコンパイルする「Py2wasm」を発表しました。

Announcing py2wasm – A #Python to #WebAssembly compiler that speeds up by 3x your Python apps!https://t.co/0v4YLZC7lY

— Wasmer (@wasmerio) April 18, 2024

WebAssembly版CPythonよりも3倍高速に

PytonをWebAssemblyで実行する方法として、Pythonランタイムの標準実装となっているCPythonをWebAssemblyにコンパイルしたWebAssembly版CPythonを用いてPythonコードを実行することが可能です。

しかしWebAssembly版CPythonの実行速度をネイティブバイナリのCPythonと比較すると非常に遅いとされています。

一方、今回Wasmerが発表したpy2wasmでは、PythonコードそのものをWebAssemblyバイナリ化することなどによりインタプリタのオーバーヘッドを省略できるため、WebAssembly版CPython上でPythonコードを実行するよりも約3倍高速だと説明されています。

py2wasmはWebAssembly版CPythonよりも約3倍高速

PythonコードをCPythonのAPIコールにトランスパイル

PythonコードをWebAssemblyバイナリにコンパイルするpy2wasmコンパイラは、Nuitkaをベースに開発されたと説明されています。

NuitkaはPythonコードをCPythonのAPIコールに変換するトランスパイラです。トランスパイル後のコードをCコンパイラを用いてコンパイルすることで、ネイティブバイナリを生成可能です。

py2wasmはこのNuitkaをベースにWASI(WebAssembly Sysmtem Interface)対応のWebAssemblyバイナリを生成するようにカスタマイズされたものです。

Wasmer社では近い将来、py2wasmをWasmerのパッケージとして公開する予定とのことです。

また、同社自身も今後さらにpy2wasmの高速化を実現し、Python Djangoで構築された同社のバックエンドをWebAssemblyベースのWasmer Edgeへ移行したいとの考えを明らかにしています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
バイデン氏、競争促す大統領令に署名–巨大IT企業など監視強化も
IT関連
2021-07-12 02:51
ランサムウェア攻撃で190万人分の医療情報が流出のおそれ–米債権回収会社で
IT関連
2022-07-16 10:16
全銀ネットのシステム障害が復旧–2日にわたり10行の振込取引に影響
IT関連
2023-10-13 07:36
日本オラクルとHID、総合行政システムのモダナイゼーションに向け連携を強化
IT関連
2024-01-17 14:57
CTC、ApptioのIT投資の可視化・最適化クラウドサービスを提供
IT関連
2023-11-03 09:30
新たな1歩を踏み出すロボティクススタートアップたち
ロボティクス
2021-03-13 18:14
Redditが透明性レポート公表、大きなスパム問題は大きく政府からの削除要請は少なめ
ネットサービス
2021-02-18 19:54
本人確認のデジタル化–後編:法令と確認方法別の利点や弱点とは
IT関連
2021-03-29 21:43
佐野学園、人事総務の業務改革で申請処理を大幅削減
IT関連
2021-06-03 12:33
古民家、石蔵……歴史的建造物をオフィスに コロナ禍でテレワーク需要拡大
IT関連
2021-03-19 00:56
レッドハットのM・ヒックス氏、開発者からCEOへのキャリアを振り返る
IT関連
2022-08-10 05:49
中小の販売業者が扱う低価格製品にも「Apple Care」のようなサービス提供を目指すExtend
その他
2021-05-29 17:35
フェイスブックがデータ転送先のオプションにPhotobucketとGoogleカレンダーを追加
ネットサービス
2021-08-11 03:33
CTCとJR東、上野駅のイベントで来店者の人流データを可視化–集客力を計測
IT関連
2023-04-05 02:39