Node.jsでつくる Node.js – WASM/WASI ミニミニコンパイラー JSConf JP 2019 (2019.11.30) のLTの資料です。
![WebAssembly text format で画像処理を書くぞ](https://cdn-ak-scissors.b.st-hatena.com/image/square/058907d7fff8de37f488414de42acab674d6da15/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fuit2-180308140045-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Node.jsでつくる Node.js – WASM/WASI ミニミニコンパイラー JSConf JP 2019 (2019.11.30) のLTの資料です。
WebAssemblyは既にメジャーなブラウザすべてでサポートされており、その用途も、たとえばGoogle Earthが移植されるなど、ゲームに限られなくなってきている。もっとも、これまではダウンロード後のコンパイルに時間がかかるという問題があった。Firefox 58では2つの新技術でこの問題に対処し、WebAssemblyアプリケーションの起動を大幅に高速化する。 Making WebAssembly even faster: Firefox’s new streaming and tiering compiler – Mozilla Hacksによれば、1つ目の新技術はストリーミング(Streaming)という。ダウンロードの完了を待たずにコンパイルを開始するもので、この技術はWebAssemblyのファイル形式と相性がいい。単一のファイルのうち、最初にコード部分がダウンロードされる
後入りですみませんが、WebAssemblyアドベントカレンダー未投稿のところ埋めさせて頂きます。 本記事では、WebAssemblyをターゲットとするコンパイラ処理系を実装します。 方針 WebAssemblyへのコンパイル言語処理系を最も簡単に 1実装するための方針は以下のとおり。 言語は「コンパイラがなるべく小さくなる言語として考案」されたBrainf*ckを採用 文法はPEG(Parsing Expression Grammar)で記述し、生成系PEG.jsでパーサを実行時に生成する WebAssemblyコード生成では文字列でWAST形式を生成し、wast2wasm2で変換する(直接WASMを生成しない)。またEmscriptenやbinaryenは使用しない WASTの表現ではflat形式ではなくs-expression形式を使用する ブラウザ上ではなくNode上で実行する。な
はじめに 表題の通り、以前Emscriptenを使って作っていたライブラリをwasm対応して性能比較してみます。本来ならSION2 HDで比較してみたかったのですが、色々とハマっているうちに時間がなくなってしまったので、SION2 HDの中でも使っているz-music.jsに絞って評価してみようと思います。 なお評価にはChrome 63を使っています。ブラウザ間の比較とかもあれば良かったのかもしれませんが、純粋に時間がなくてやっていません。比較的新しいブラウザは全て実装しているので、いずれ比較・競争は自然と激しくなるでしょう:) 使ったマシンはMac mini (Late 2014)で、性能に関係しそうなプロセッサは3GHz Core i7です。古めのマシンとは言え、シングルコア性能で考えると今でも現役ですね。 一応Chromium Developerです、とか言っておきますが、だからと
今日 Google の開発者ブログで WebAssembly の記事が載っていました.どうやら最新の Chrome では WebAssembly が動くようです. googledevjp.blogspot.jp 自作言語のコンパイラを LLVM フロントエンドとしてつくっているので,これは試さないわけにはいきません. github.com というわけで,さっそく試してみます. 準備 1. Chrome 直接 V8 をビルドするのは億劫なので Chrome のバイナリを落としてきて使います.Chrome 51.0.2677.0 以降であれば OK です.Canary 版をダウンロードしてきてインストールします. 次に chrome:flags にアクセスして WebAssembly を有効にします. 2. LLVM WebAssembly のためのアセンブリを吐くには LLVM の expe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く