JavaScriptランタイムのBunが、C言語のコンパイルとJavaScriptプログラムからの実行をサポート

今回は「JavaScriptランタイムのBunが、C言語のコンパイルとJavaScriptプログラムからの実行をサポート」についてご紹介します。

関連ワード (上記、互換性、言語等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

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


JavaScriptランタイムのBunは、C言語のコンパイルとJavaScriptプログラムからの実行をサポートすると発表しました。

In Bun v1.1.28, we added support for compiling and running C from JavaScripthttps://t.co/eoClllphwj pic.twitter.com/YwCW7Uc7CT

— Bun (@bunjavascript) September 18, 2024

JavaScriptを用いてアプリケーション開発を行う際に、システムの持つ機能を呼び出したい場合にはNode.jsもしくはBunに実装されたN-APIもしくはJavaScriptエンジンV8のAPIをC言語経由で呼び出すか、もしくはWebAssemblyを用いるか、いずれかを用いるのが一般的でした。

今回、JavaScriptランタイムのBunそのものがC言語のコンパイルと実行の機能を備えたことで、C言語のAPIを呼び出す3つ目の方法を提供することになります。

これはN-APIの呼び出しには実装の関係で呼び出しのオーバーヘッドがあり実行速度が遅いこと、V8のAPIはバージョンアップにより使えなくなってしまうことがあること、そもそもC言語をコンパイルしてバイナリを生成するのが手間であること、WebAssemblyはサンドボックスによって分離されているため柔軟性が低い、などの従来の課題を解決する手段として提供されるものです。

Bunが提供する機能は、共有メモリを用いてJavaScriptからC言語をコンパイルして実行することで、ほぼ呼び出しのオーバーヘッドなく呼び出せると説明されています。

下記はサンプルとなるC言語のコード。乱数を返します。

上記のCのコードをコンパイルして呼び出すためのJavaScriptのコード。

実行したところ。

JavaScriptランタイムはNode.js、Deno、Bunなどのソフトウェアだけでなく、CloudflareやAWSなどサービスベンダも入り交じって競争が続いています。その中で各プロダクトともに事実上の標準であるNode.jsとの互換性を守りつつもそれぞれの特徴を出そうとしているところで、今回のBunのC言語サポートもそうした特徴をだそうとする努力の1つのように見えます。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
中国ECの巨大商戦、新局面へ ”中国版TikTok”正式参入で変化
IT関連
2021-06-17 09:56
攻撃者が試すパスワードの上位が明らかに–デフォルトの認証情報は変更を
IT関連
2022-10-22 08:47
お魚サブスク「フィシュル」で魚の食品ロス削減を目指すベンナーズが3200万円調達、サービス認知拡大目指す
IT関連
2022-01-19 17:48
「Microsoft Defender for Endpoint」でクリプトジャッキングが検出可能に–インテルの技術利用
IT関連
2021-04-28 12:10
「昭和」な方法が残る債権管理・督促業務のDXを進めるLectoが総額1.1億円調達
フィンテック
2021-03-23 11:59
静的サイトに特化した全文検索ライブラリ「Pagefind」、さくらのレンタルサーバで動かしてみた
Rust
2024-01-17 19:31
三菱地所、社員1万人を「DX人材」にする育成プログラムを開始
IT関連
2022-09-30 13:40
AIが合成したオンライン講座、NTT子会社が無料配信 文章と講師の映像から講義動画を生成
ロボット・AI
2021-03-13 17:02
「HPE GreenLake」の動きからIT基盤を巡るベンダー間の主導権争いを読む
IT関連
2022-12-16 02:38
物流エコシステムをフル活用–全ての小売店にささぐ、オラクルとUberの配送改革
IT関連
2023-09-22 02:29
IIJ、エンジニア育成の場「IIJアカデミー」を開設–現役社員がマンツーマン指導
IT関連
2022-11-23 03:51
「iOS 16」リリースに備える–「iPhone」のアップデートを円滑にする準備事項
IT関連
2022-09-04 15:11
ブラザー工業、サプライチェーンの変革にキナクシスのマネジメントソリューション導入
IT関連
2024-08-28 18:51
中国人を悩ませるレアな名字の文字コード問題
IT関連
2023-06-01 03:08