In April of 2015, Luke Wagner made the first commits to a new repository calledWebAssembly/design, adding a high-level design document for a “binary format to serve as a web compilation target.” Four years later, in December 2019, the World Wide Web Consortium (W3C) officiallyembracedWebAssembly (Wasm) as the “fourth language of the web”. Today,Wasm is used in web applications likeGoogle Eart
OpenTelemetry (OTel) Collectorは、テレメトリーデータの受信、処理、エクスポートを行うベンダー非依存の実装です。これにより、個別のエージェントを導入せずに、さまざまなサービスに対応できます。公式が提供するバイナリには、最低限の機能を持つ「core」と、コミュニティ提供の機能を…

最大の差別化要因はWebAssemblyの採用 ―― Fastly共同創業者Tyler McMullen氏に聞く次世代CDNの最前線 クラウドインフラやCDN(コンテンツ配信ネットワーク)の分野において、エッジコンピューティングとWebAssemblyの融合は今、大きな注目を集めています。その最前線を走る企業の1つがFastlyです。創業以来、速度と柔軟性を軸に独自のアーキテクチャを追求してきた同社は、AIやセキュリティ、オープンソースといった領域でも積極的な挑戦を続けています。 今回、Fastlyの創業者の1人であり、現在はFellowを務めるTyler McMullen氏に、同社の強みやAIへの取り組み、オープンソースコミュニティへの支援活動などについてお話を伺いました。 Fastly創業者の1人であり、現在はFellowを務めるTyler McMullen氏WebAssemblyで
In September,machine learning engineers at Mozilla filed a bugreport indicating that Firefox was consuming excessive memory andCPU resources while runningMicrosoft’s ONNX Runtime (amachine learning library) compiled toWebAssembly. This post describes how we addressed this and some of our longer-term plans for improvingWebAssembly performance in the future. The problem SpiderMonkey has two c

浮動小数点数にはIEEE 754という標準規格がありますが、規格の範囲内であっても僅かに実装による差異が認められています。その一つがNaNのビットパターンです。WebAssemblyはNaNのビットパターンに関しては実装依存の結果を許容しており、Wasmランタイムは特に深い理由がなければホストCPUの浮動小数点命令をそのまま用いると考えられるため、結果として「WasmからNaNのビットパターンを観測することでホストのCPUの命令セットを推測する」ことができます。 ここでは、「x86(_64)」「RISC-V」「その他(Armなど)」の3択で判定することを目指します。 判定コード 判定するコードは以下です: #include <inttypes.h> #include <stdio.h> #include <string.h> float u32_to_f32(uint32_t x) {

WebAssemblyをちょっといじってみて思ったところをまとめてみます。 設計思想WebAssembly/designに設計文書がまとまっています。特にHighLevelGoals.mdから読み取れるポイントは以下の4点です。 サンドボックス化された環境であること。 移植性があること。つまり、特定の実CPUアーキテクチャ等に依存しないこと。 少なくともC/C++の(十分に高速な)コンパイルターゲットとして機能すること。 安定した仕様を持つこと。 サンドボックスという観点からは、先行技術として以下のようなものが特筆に値します。 WebサンドボックスJavaScript およびasm.jsJavaアプレット Flash (ActionScript) NaCl, PNaCl Web以外のサンドボックス OSのユーザーランド、特にLinux userland これらのサンドボックスとの比

WebAssemblyは今、転換点にあります。今後数年間で、コンテナ化からプラグインシステムやサーバレス・コンピューティング・プラットフォームに至るまで、IT業界全体でWebAssemblyの導入が増えると筆者は予想しています。この記事では、WebAssemblyとは何か、なぜそれが重要なテクノロジーであるのか、現在はどのような分野で利用されているかを説明します。また、WebAssemblyが大きな影響をもたらす可能性がある用途や、WebAssemblyの将来に関する予測も紹介します。WebAssemblyとは何かWebAssembly(Wasm)とは、さまざまなプログラミング言語と多様な実行環境の間に位置する中間層です。30以上の異なるプログラミング言語で書かれたコードを.wasmファイルにコンパイルし、そのファイルをブラウザ、サーバ、あるいは自動車でも実行できます。 「WebAss

はじめにWASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(AzureKubernetes Service)でもWASMにpreview対応しています。WASMBuildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている


Why I QuitGoogle’sWebAssembly Team, And HowIt Made Me Sick IjoinedGoogle inearly 2015 to work on the V8 team as one of the first authors of theWebAssembly specification. This is a partial story of what went wrong with the process and howit permanently damaged me. My hope is that this story will help people recognize toxic cultures in their own workplaces, or help new hires have a better ca
ディズニー、Disney+の動画配信クライアントにWebAssemblyを採用。2019年春に開発開始Amazon.comがAmazon Prime Videoの配信アプリケーションでWebAssemblyを採用し、動画のフレームレートを向上したことは、2月1日に公開した記事「Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現」で紹介しました。 この記事では「これだけの規模の本番環境にWebAssemblyが投入されている事例は他にないはず」と書いたのですが、その後もWebAssemblyの事例や応用技術を調べていくうちに、このAmazon Prime Videoの取り組みよりも前に、本番環境で大規模にWebAssemblyを展開している企業がありました(ですので、この記事のこの表現はお詫びして

https://contrib.rocks はGitHubのAPIから取得したコントリビューター情報からSVG画像を生成している。これまではSVG.js を使ったTypeScriptでの実装だったが、興味本位でRustで実装したものをWebAssembly(wasm)として実行するようにしたところ、パフォーマンスが顕著に向上したためそのまま採用することにした。Rustもwasmもまともに触ったのは今回がはじめてだったため、実装には洗練する余地が多分にあるだろうが、この記事ではとりあえず作業の記録を書き残す。 NxワークスペースにRustをセットアップするまずはじめに、Nxのワークスペース内でRustの開発環境を整えた。Cargoにもワークスペース機能があり、複数のプロジェクトの依存関係解決を集約できる。 ドキュメントに従い、ワークスペースのルートディレクトリに Cargo.toml を

Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。佐伯氏は、WebAssemblyのWebの外の応用について発表しました。全2回。前半は、Wasmがアツい理由とデザインゴールについて。 今回のテーマは「Kernel/VM的WebAssembly入門」佐伯学哉氏(以下、佐伯):佐伯が『WebAssemblyのWeb以外のこと全部話す』というタイトルで発表します。 まず、WebAssemblyとは何ぞや? という一般的な話なのですが、「Wikipedia」からの引用によれば、「Webブラウザーのクライアントサイドスクリプトとして動作する低水準言語である。ブラウザー上でバイナリフォーマットのかたちで実行可能であることを特徴とする」とあります。 実際の応用例としては、WebでGoogle Meetの背景ぼかしに使われていたり

ffmpeg.wasmffmpeg.wasm is a pureWebAssembly /JavaScript port ofFFmpeg enabling video & audio record, convert and stream right inside browsers! DataSecurityffmpeg.wasm runs only inside your browser, datasecurity is guaranteed as no data is sent to remote server. Powered byWebAssemblyffmpeg.wasm transpilesffmpeg source code toWebAssembly code usingEmscripten to achieve optimal performance.
Mozillaが「WebAssembly Studio」発表。C/Rust/AssemblyScript対応のオンラインIDE Mozillaは、Webブラウザ上で高速に実行できるWebAssemblyに対応したアプリケーションを開発するためのオンラインIDE「WebAssembly Studio」を発表しました。 オンラインIDEのサービスとして「WebAssembly.Studio」でベータ公開され利用できるほか、コードがGitHubでオープンソースとして公開されており、サーバにインストールして実行することも可能です。WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。 マイクロソフト、Google、Mozilla、Appleなどの主要なWebブラウザベンダがW3CのWebAssembly Community Grou

Googleが中心となってオープンソースで開発されているGo言語は、WindowsやmacOS、Linux、FreeBSD、iOS、Androidなど、さまざまなOSやCPUに対応したバイナリを生成できることが特長の1つとなっています。 そのGo言語のコンパイラが生成するバイナリにWebAssemblyが追加されました。WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。WebAssemblyのサポートは昨年2月から検討がはじまり、先月末に最初のコードがコミットされた状態で、現在も開発が進んでいます。GOの今後のバージョンアップで正式にWebAssemblyがサポートされる見通しです。Go言語はサポートするOSやCPUの種類をそれぞれ「GOOS」と「GOARCH」の値で示しています。例えばWindowsのGOOS値は「

CMU #51の発表資料です。 webブラウザでC/C++を始めとしたJavaScript以外の言語を使う謎テクノロジーWebAssemblyについて解説します。概要から始まり、Hello worldを通してWebAssemblyAPIの動作、C/C++ -JavaScript連携の方法について解説します。
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く