並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 745件

新着順 人気順

wasmの検索結果161 - 200 件 / 745件

  • Webエンジニアの新しい道 ~LINE Blockchain Labが拓くブロックチェーンの世界 | gihyo.jp

    インタビュイー LINE Blockchain Engineeringチーム Software Engineer 高橋史季氏(左)、高瀬亮氏(右) LINEでは独自ブロックチェーンとして「LINE Blockchain Mainnet/Testnet」を運営しており、開発プラットフォームである「LINE Blockchain Developers」を通じてブロックチェーンサービスを構築できる環境を整えているほか、暗号資産として「LINK」も発行しています。LINEにおけるこれらの取り組みをリードしているのが「LINE Blockchain Lab」であり、ブロックチェーンに関するさまざまなプロジェクトが進められています。 特徴的なのは、ブロックチェーンの研究・開発でありながらも、Webを中心とした汎用的な技術を活用しながら未来の社会に向けた取り組みを行っている点です。今回、このLINE B

      Webエンジニアの新しい道 ~LINE Blockchain Labが拓くブロックチェーンの世界 | gihyo.jp
    • マイクロソフト、WebAssemblyとWebGLで推論エンジンを実装した「ONNX Runtime Web」(ORT Web)をオープンソースで公開

      マイクロソフト、WebAssemblyとWebGLで推論エンジンを実装した「ONNX Runtime Web」(ORT Web)をオープンソースで公開 マイクロソフトは、WebAssemblyとWebGLで機械学習の推論エンジンを実装した「ONNX Runtime Web」(ORT Web)をオープンソースで公開しました。 INTRODUCING: #ONNXRuntime Web (ORT Web), a new feature in ONNX Runtime to enable JavaScript developers to run and deploy machine learning models in browsers https://t.co/Ey3tsNlkEe pic.twitter.com/9uGyK8Pra0 — onnxruntime (@onnxruntime)

        マイクロソフト、WebAssemblyとWebGLで推論エンジンを実装した「ONNX Runtime Web」(ORT Web)をオープンソースで公開
      • Next.jsとRustのTypeScriptなWebAssembly生活 - Qiita

        なんかwasmを直読み出来るんだけど Webpackがwasmの読み込みをサポートしているので、Next.jsでもちょっと設定を追加するだけで動作が確認出来ました TypeScriptの定義まで自動で行われるので、連携する上で迷うところがありません 今回作成したコード https://github.com/SoraKumo001/next-wasm RustでWebAssemblyの生成 Rustのインストール https://www.rust-lang.org/tools/install これが無いと話にならないので、とりあえずインストールする必要があります wasm-packのインストール 以下を実行してwasm-pack入れるとRustでWebAssemblyが簡単に生成できるようになります cargo install wasm-pack 必要なコード

          Next.jsとRustのTypeScriptなWebAssembly生活 - Qiita
        • 次期「Dart 3」はNullセーフ、WebAssemblyとRISC-Vサポートなど、Googleが発表。Flutter Forward 2023

          次期「Dart 3」はNullセーフ、WebAssemblyとRISC-Vサポートなど、Googleが発表。Flutter Forward 2023

            次期「Dart 3」はNullセーフ、WebAssemblyとRISC-Vサポートなど、Googleが発表。Flutter Forward 2023
          • WebAssemblyの形態素解析器GoyaをRustで作った

            Goyaという形態素解析器を Rust で作りました。本記事は利用者目線で Goya の紹介をします。技術的な詳細については別途記事を書きます。 形態素解析とは? (このセクションは形態素解析の基礎の話なので知ってる方は読み飛ばしてください) 形態素解析(けいたいそかいせき、Morphological Analysis)とは、文法的な情報の注記の無い自然言語のテキストデータ(文)から、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの形態素の品詞等を判別する作業である。 — 形態素解析 - Wikipedia 例えば早口言葉の”すもももももももものうち”(スモモも桃も桃のうち)という言葉を形態素解析すると以下のような結果が得られます。スモモや桃が名詞、間にある”も・の”は助詞と解析さ

              WebAssemblyの形態素解析器GoyaをRustで作った
            • アメリカに留学に来て1年が経った - pco2699’s blog

              アメリカに来て1年が経ったので、1年で思い出深かったことなどをざっと振り返ろうかと思う。 2023春 2023夏 これから アメリカに来た過去の経緯などは以下を参照。 blog.pco2699.net blog.pco2699.net 2023春 2023春は今振り返っても「コンパイラデザイン」という授業が地獄だった、という記憶しかない。 www.cs.cmu.edu コンパイラデザインはCMUの中でOSと双璧をなす、課題がエグい授業として有名なのだが、噂通りであった。 www.quora.com The work is spread fairly evenly throughout the semester; each assignment is similarly sized, and they all have the same amount of time, roughly. It

                アメリカに留学に来て1年が経った - pco2699’s blog
              • WebAssemblyとWebGPUを用い、Webブラウザ上でStable Diffusion Turbo全体を高速実行可能な推論エンジン「ONNX Runtime Web 1.17」マイクロソフトから登場

                WebAssemblyとWebGPUを用い、Webブラウザ上でStable Diffusion Turbo全体を高速実行可能な推論エンジン「ONNX Runtime Web 1.17」マイクロソフトから登場 ONNX Runtime WebがWebGPUに対応。Webブラウザ上でさらに高速な推論処理が可能になった。Stable Diffusion Turbo全体をWebブラウザ上で高速に実行可能で、RTX4090を用いた場合1秒以内で結果が出力される。 ONNX Runtime Webの基になっている「ONNX Runtime」はクロスプラットフォーム対応の推論エンジンです。TensorFlow、PyTorch、SciKit Learnなどをはじめとするさまざまな機械学習のモデルに対応し、これらで生成されたモデルによる推論処理をプラットフォームに依存せず実行するランタイムの役割を果たします

                  WebAssemblyとWebGPUを用い、Webブラウザ上でStable Diffusion Turbo全体を高速実行可能な推論エンジン「ONNX Runtime Web 1.17」マイクロソフトから登場
                • Rustで将棋の局面画像生成、そしてCDN Edgeで動的生成 - すぎゃーんメモ

                  背景 先行・類似事例 自作のメリット Rustで局面画像生成 盤・駒画像の素材 画像処理 入出力 Generatorと下準備 Publish Web Appで使う CDN Edgeで動かす wasm-packでWebAssembly作成 Deno Deploy Vercel Edge Functions Cloudflare Workers Fastly Compute@Edge その他 まとめ Repository 背景 ATrium という AT Protocol のためのライブラリを自作している が、まったくドッグフーディングしていなかった ので、Blueskyに詰将棋の問題を放流するBotを作ってみることにした gfx氏が作ったBot を参考に というわけで、詰将棋の問題の局面を画像で投稿したい が、あまり自分好みの画像を生成できるライブラリやWebサービス等がない ので、結局それ

                    Rustで将棋の局面画像生成、そしてCDN Edgeで動的生成 - すぎゃーんメモ
                  • Rustハンズオン第5回 WebAssembly編

                    2021/05/12に開催した社内向けハンズオンの資料です。

                      Rustハンズオン第5回 WebAssembly編
                    • GitHub

                      Made to run natively on all modern operating systems and browsers, Ruffle brings Flash content back to life with no extra fuss. Safe to use - Using the guarantees of Rust and WASM, we avoid the security pitfalls Flash was known for. Easy to install - Whether you're a user or a website owner, we've made it as easy as possible to get up and running.

                      • ディズニー、Disney+の動画配信クライアントにWebAssemblyを採用。2019年春に開発開始

                        ディズニー、Disney+の動画配信クライアントにWebAssemblyを採用。2019年春に開発開始 Amazon.comがAmazon Prime Videoの配信アプリケーションでWebAssemblyを採用し、動画のフレームレートを向上したことは、2月1日に公開した記事「Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現」で紹介しました。 この記事では「これだけの規模の本番環境にWebAssemblyが投入されている事例は他にないはず」と書いたのですが、その後もWebAssemblyの事例や応用技術を調べていくうちに、このAmazon Prime Videoの取り組みよりも前に、本番環境で大規模にWebAssemblyを展開している企業がありました(ですので、この記事のこの表現はお詫びして

                          ディズニー、Disney+の動画配信クライアントにWebAssemblyを採用。2019年春に開発開始
                        • Rust+wasmでSVGを生成したら10倍速くなった | Marginalia

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

                            Rust+wasmでSVGを生成したら10倍速くなった | Marginalia
                          • WasmGCについて予習する

                            この記事はWebAssembly Advent Calendar 2023 2日目の記事です. ガベージコレクタ(WasmGC)[1]が10月頃にChromeとFirefoxでデフォルトで有効になり,標準化目前ということで大いに盛り上がったのは記憶に新しいかと思います. これはChromeが対応したというよりはChromeが採用しているJavaScriptのランタイムであるV8がデフォルトでWasmGCが有効になったというのが正確な表現で,DenoでもDartからビルドしたWasmを実行する際にGCを有効にするフラグを立てる必要がなくなり,実行しやすくなったなぁと皆さんも感じているかと思います. -$ deno run --allow-read --v8-flags=--experimental-wasm-gc run.js +$ deno run --allow-read run.js

                              WasmGCについて予習する
                            • WasmLinux: LinuxカーネルをWebAssemblyにする

                              LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

                                WasmLinux: LinuxカーネルをWebAssemblyにする
                              • A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler

                                I wrote a basic search module that you can add to a static website. It's very lightweight (50kB-100kB gzipped) and works with Hugo, Zola, and Jekyll. Only searching for entire words is supported. Try the search box on the left for a demo. The code is on Github. Static site generators are magical. They combine the best of both worlds: dynamic content without sacrificing performance. Over the years,

                                  A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler
                                • 緊急解説! 突如出現したnitrogqlの中身と裏側

                                  皆さんこんにちは。これは、筆者が最近公開したnitrogqlを宣伝する記事です。nitrogqlの概要や、開発にあたっての裏話などを紹介します。 nitrogqlとは nitrogqlは、TypeScriptコードからGraphQLを使用するためのツールです。有体にいえば、graphql-code-generatorを置き換えることを目指して開発しています。具体的には、.graphqlファイルからTypeScriptの型定義を生成する機能を備えています。 例えば、次のようなクエリがあったとします。 query ($unfinishedOnly: Boolean) { todos(filter: { unfinishedOnly: $unfinishedOnly }) { id body createdAt finishedAt tags { id label color } } } imp

                                    緊急解説! 突如出現したnitrogqlの中身と裏側
                                  • WebAssembly Interface Types で全てが連携する! (翻訳) - inzkyk.xyz

                                    ブラウザ外での WebAssembly の利用が盛り上がっています。 盛り上がりはスタンドアローンのランタイムを使った WebAssembly の実行だけではありません。Python, Ruby, Rust といった言語からの WebAssembly の実行にも注目が集まっています。 なぜそんなことが望まれるのでしょうか? 理由はいくつかあります: 「ネイティブ」をもっと簡単に Node あるいは Python の CPython のようなランタイムでは、C++ などの低レベル言語でもモジュールを書ける場合があります。低レベル言語を使っ

                                      WebAssembly Interface Types で全てが連携する! (翻訳) - inzkyk.xyz
                                    • RustでWasm Runtimeを実装してみた

                                      はじめに 最近Wasmの勢いがすごくて、ブラウザでPostgreSQLを動かせたり、DockerでWasmを動かせたりできます。 以前からWasm自体に興味があって、動作原理を知りたいと思ってchibiwasmというRuntimeを実装してみました。 Rustを選んだのは、最近Rustを勉強していてそれに慣れるためです。 苦労しましたが、*.wasmがどのようにして実行されるのかを理解できたので良かったです。 今回はWasmのバージョン1の仕様を満たすように実装して、テストスイートは正常系と実行時異常系のテストは通しましたが、バリデーションなどのテストはスキップしています。 また、少しだけバージョン2の命令とWASIを実装していて、RustからビルドしたHello Worldを標準出力するwasmバイナリも動きます。 本記事は実装したWasm Runtimeの概要と、実装を通して学んだこと

                                        RustでWasm Runtimeを実装してみた
                                      • モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog

                                        こんにちは、エンジニアのちぎら(@_naru_jpn)です。ミラティブでは、配信中のゲームに視聴者が介入できるゲームとライブ配信が融合した次世代のゲーム体験を提供しており、この体験を ライブゲーミング と呼んでいます。 ライブゲーミングは、Unity から WebGL 向けにビルドされた WebAssembly 製のゲームを、アプリに配置したウェブブラウザ上で動作させることによって実現しています。*1 今回は UnityでモバイルWebGLゲーム開発を頑張る話 の「メモリリークによって発生するクラッシュ」にも書かれているような、捕捉は難しいがユーザー影響があるような例外の発生を捕捉して、計測をするための仕組み作りについて解説をします。 ライブゲームが動作する仕組み 例外を捕捉することを考える前に、ライブゲームがどのように動作しているのかを知る必要があります。 Unity の WebGL 向

                                          モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog
                                        • Introducing workerd: the Open Source Workers runtime

                                          Introducing workerd: the Open Source Workers runtime09/27/2022 Today I'm proud to introduce the first beta release of workerd, the JavaScript/Wasm runtime based on the same code that powers Cloudflare Workers. workerd is Open Source under the Apache License version 2.0. workerd shares most of its code with the runtime that powers Cloudflare Workers, but with some changes designed to make it more p

                                            Introducing workerd: the Open Source Workers runtime
                                          • emruby: ブラウザで動くMRI - クックパッド開発者ブログ

                                            こんにちは、フルタイムRubyコミッタの遠藤です。 Ruby 3.0が出てもう4ヶ月経ってしまいました。最近のTypeProfの開発ですが、vscode拡張として使えるようにするために、一生懸命Language Server Protocolをいじって遊んでるところです。 今日の成果です。 RBS が .rb と別ファイルなのが面倒という問題、vscode 拡張をちゃんと作れば解決できそう(まだ実現可能性を調べただけで中身はありません)。 pic.twitter.com/tv6xB0Tm59— Yusuke Endoh (@mametter) 2021年4月2日 こっちのほうはまだ実験段階なので、まとまったころに説明するとして、今回は、Ruby 3.0リリース後にほそぼそとやっていたemrubyをご紹介してみます。 emrubyとは ブラウザの上で動くMRI(Matz Ruby Inter

                                              emruby: ブラウザで動くMRI - クックパッド開発者ブログ
                                            • Adding Python WASI support to Wasm Language Runtimes

                                              We recently added Python support to Wasm Language Runtimes. This article provides an overview of how Python works in WebAssembly environments and provides a step by step guide on how to use it. At VMware OCTO WasmLabs we want to grow the WebAssembly ecosystem by helping developers adopt this new and exciting technology. Our Wasm Language Runtimes project aims to provide up-to-date, ready-to-run We

                                                Adding Python WASI support to Wasm Language Runtimes
                                              • RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する

                                                wasm-packを使うことで、ビルドしてwasm-bindgen-cliでさらに変換処理を行い、npmで配布可能なパッケージにするという多段階必要なビルド手順をまとめることが可能です。 またnewコマンドのようなテンプレートから生成する機能などもあり、より手軽にWasmの実行を行えます。 後述のTrunkとの違いは、wasm-packはwebpackなどのJavaScript側で使われるバンドラーなどと合わせて使うことが想定されていることです。 webpackと合わせて使わない場合には今回のテーマであり後述するTrunkを利用したほうがより簡単にWasmの実行を行えます。 wasm-opt GitHub binaryenというリポジトリでwasm-optというツール含むいくつかのツールが作られています。 wasm-optはその名の通りWasmの最適化をしてくれるツールです。 与えるオプシ

                                                  RustのWasm周りのクレートまとめと、Trunkを使ってRustで書いたWasmをブラウザ上で簡単に実行する
                                                • RustとWasmで静的ウェブページに日本語検索機能を追加する - Qiita

                                                  概要 静的ウェブページ向け検索エンジンtinysearchをrust_icuのトークナイザ(icu::BreakIterator)を使って日本語対応させてみた。 また、これをmdBookに組み込み、The Rust Programming Language 日本語版へ適用してみた (chromiumのみ対応。その他は従来どおりの検索性能) 実装: https://github.com/tamuhey/tinysearch/tree/japanese mdBookへの適用: https://github.com/tamuhey/mdBook/tree/tiny_search The Rust Programming Language 日本語版への適用例: https://tamuhey.github.io/book-ja/ tinysearch tinysearchは静的ウェブページ向け検索

                                                    RustとWasmで静的ウェブページに日本語検索機能を追加する - Qiita
                                                  • WebAssembly Reference Typesで、WasmでDOMを操作する壁がここまで下がった

                                                    きっかけ(となったtweetの訂正) もう1ヶ月以上も経ってしまったが、こちらのtweetの公約どおり、WebAssembly (Wasm)におけるDOMの操作について知っている限りのことを書こう。 まずこの節の見出しのとおり、上記の発言は大きく間違えている。私はReference Typesがもたらすパフォーマンス的なメリットや、JavaScriptのオブジェクトを直接Wasmで渡すことが(一応)可能になったということを根拠に上記のtweetをした。しかし下記のtweetでも否定されているとおり、この観点は穴だらけなので、実際のところ多くの人が「直接操作できる」と実感できる状態ではないだろう。 詳細は後述するとして、我ながらひどい凡ミスを犯してしまった。JavaScriptのことを十分に知っているはずなのに、情けない。謹んでお詫びし、ここで訂正する。 大前提: ある意味で永遠にそんな日は

                                                      WebAssembly Reference Typesで、WasmでDOMを操作する壁がここまで下がった
                                                    • コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく

                                                      コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく コンテナランタイムの事実上の標準となっているcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が昨年(2022年)12月に統合されていたことが分かりました。 これによりcontanerdはWebAssemblyランタイムとしてWasmtimeとWasmEdgeを正式にサポートし、containerdの管理下でこれらのランタイムを用いてWebAssemblyバイナリの実行が可能になる見通しです。 将来のcontainerdのリリースでこれらの機能が正式版として登場すると見られます。 containerdでWasmEdgeが正式サポート 先月、1月31日にWebAsse

                                                        コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていく
                                                      • Making JavaScript run fast on WebAssembly - Bytecode Alliance

                                                        JavaScript in the browser runs many times faster than it did two decades ago. And that happened because the browser vendors spent that time working on intensive performance optimizations. Today, we’re starting work on optimizing JavaScript performance for entirely different environments, where different rules apply. And this is possible because of WebAssembly. We should be clear here—if you’re run

                                                          Making JavaScript run fast on WebAssembly - Bytecode Alliance
                                                        • WebAssembly対応でRubyは何が出来るようになったのか?

                                                          はじめに Ruby 3.2よりWASIベースのWebAssemblyサポートされました。 これによってRubyをブラウザ上で実行できるようになるわけですが、実はWASMはブラウザの外での動作も可能になっており、OSに依存しないライブラリを作ったり、Edge Computingで実行させたり、シングルバイナリの実行可能ファイルにしたりと色々な事が出来るようになります。 今回はRubyのWASM対応でどんなことが出来るようになったかをまとめたいと思います。 WebAssemblyとは? WASMに関して少しおさらいをしておきましょう。 WebAssemblyは仮想命令セットアーキテクチャです。WASMとも言います。RustやCをはじめとした多くの言語からコンパイルする事が出来、Webブラウザの中で高速にそしてセキュアに処理を実行するための仕組みとして登場しました。 元々ブラウザ向けに登場した仕

                                                            WebAssembly対応でRubyは何が出来るようになったのか?
                                                          • Zellij: a Rusty terminal workspace releases a beta

                                                            Zellij: a Rusty terminal workspace releases a beta 2021-04-20 :: Aram Drevekenin After long months of work by a dedicated team of enthusiasts, today we are proud to announce the release of the beta version of Zellij! Zellij is a terminal workspace and multiplexer written in Rust, aiming to become a general purpose application development platform in the future. How to install? Download a prebuilt

                                                              Zellij: a Rusty terminal workspace releases a beta
                                                            • RustでWebAssemblyインタプリタ作った話 - Qiita

                                                              はじめに RustでWebAssemblyインタプリタを作ったのでその実装の話や、wasmの仕様についての記事です。 HListを使ったジェネリックプログラミングの話や、最後の方には「自作言語 on 自作wasmインタプリタ on 自作wasmインタプリタ」みたいな話も出てきます。 分かりにくい所や間違っている所は指摘してくださると助かります。 リポジトリ 作った成果物のリポジトリです。まだpublishはしていませんがクレートになっています。 cargoのexample実行に対応しているのでそれを見ればだいたい分かると思います。 今回はadc-2019-12-22というタグがついたコミットのソースを元に解説していきます。 https://github.com/kgtkr/wasm-rs/tree/adc-2019-12-22 仕様書 この記事では仕様書を読みながら順番に実装を解説していき

                                                                RustでWebAssemblyインタプリタ作った話 - Qiita
                                                              • Ruby on Browser

                                                                ruby.wasm で作ったページの紹介と ruby.wasm の使い方 スライド内のリンク - 文字化けを復元するよ https://tmtms.net/mojibake/ - シャッフル https://tmtms.net/shuffle.html?list=Ruby,Perl,Pytho…

                                                                  Ruby on Browser
                                                                • Turso — SQLite for Production

                                                                  “In e-commerce, proximity to users is vital. Turso lets us minimize round trip network latency for our global userbase and it makes a huge difference.“ “Turso enables us to efficiently scale Astro Studio’s database per tenant architecture to as many users as we’ll ever need, on demand. It’s a game changer.“

                                                                    Turso — SQLite for Production
                                                                  • WebAssembly で画像のリサイズ処理をやってみたら JavaScript + Canvas API より遅かった話 - Qiita

                                                                    WebAssembly で画像のリサイズ処理をやってみたら JavaScript + Canvas API より遅かった話JavaScriptRustOpenCVTypeScriptWebAssembly WebAssembly(WASM) は JavaScript より計算処理が速いという話題がしばしば聞かれます。 では、単純な数値計算ではないけれど、JavaScript を利用した通常のフロントエンド開発だと時間がかかる処理を移植するとどうなるのでしょうか1。本記事ではその一例として、巨大画像(4K~)を指定したピクセル数までリサイズする処理を書いてみました。 リポジトリ: https://github.com/yokra9/wasm-image-resizer JavaScript + Canvas API でリサイズしてみる まず、比較のため JavaScript でリサイズ処理を

                                                                      WebAssembly で画像のリサイズ処理をやってみたら JavaScript + Canvas API より遅かった話 - Qiita
                                                                    • WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説

                                                                      Tama Ruby会議01の発表資料です

                                                                        WebAssemblyを Rubyにコンパイルする 黒魔術コード完全解説
                                                                      • WebAssembly Summitまとめ(前編)|chikoski

                                                                        WebAssembly Summitというカンファレンスへ参加してきました。その午前のセッションについてまとめました。午後のセッションについては別記事でまとめます。 TL;DR; 午前はWASMを取り巻く問題について扱ったように感じました。いくつかには解決策が提示され、いくつかは問題提起にとどまった印象です。 WebAssembly Summitとは? Webブラウザの上で実行できる第2の言語、それがWebAssemblyです。誕生は2015年にW3Cのコミュニティグループが結成され、2019年末に正式な仕様としてリリースされました。このWebAssemblyのツールやランタイム、そしてWebAssemblyを使ったアプリケーションに関する発表を行うカンファレンスが、WebAssembly Summitです。 WebAssembly は、ネイティブのアプリケーションやエッジサーバにおける処

                                                                          WebAssembly Summitまとめ(前編)|chikoski
                                                                        • Microsoft Silverlightがオープンソース化、「OpenSilver」ベータ版リリース

                                                                          Userwareは現地時間2021年9月13日、Microsoft Silverlightをオープンソース化した「OpenSilver」のベータ版をリリースした。OpenSilver SDKはダウンロードページから入手できる。OpenSilverはMicrosoft Silverlightで開発したアプリケーションをビルドし、WebAssemblyをサポートする主要なWebブラウザーで実行するための基盤だ。Visual Studioの拡張機能として動作するため、Visual Studio 2019 バージョン16.11以降、もしくはVisual Studio 2022が必要となる。 OpenSilverはMicrosoft Blazorとmono WebAssemblyを活用し、C#や.NETからWebAssemblyにコンパイルする。開発者はGitHubのサンプルコードを参考にすることを

                                                                            Microsoft Silverlightがオープンソース化、「OpenSilver」ベータ版リリース
                                                                          • WebAssemblyでPOSIXの機能を利用可能にする仕様「WASIX」が公開

                                                                            米Wasmerは、WebAssemblyでPOSIX(Portable Operating System Interface)の機能を利用可能にする新しい仕様「WASIX」を5月30日に公開した。WASIは、WebAssemblyをWindows、macOS、Linuxで動作可能にするための仕様であるWASIを拡張したものだ。WASIでは、OSのファイルシステムやネットワークなどを安全に利用可能にするAPIを定義している。 WASIXは、マルチスレッド処理やバークレーソケット、プロセスのフォーク、DNSによる名前解決など、POSIXが定義する機能の多くをWebAssemblyで利用可能にする。現在のところWASIXはRustとC言語で利用でき、ZigやAssemblyScriptへの対応も予定している。 WASIXを利用したプログラムを作成するには、上記の対応言語でWASIXのAPIを使っ

                                                                              WebAssemblyでPOSIXの機能を利用可能にする仕様「WASIX」が公開
                                                                            • Using WebAssembly threads from C, C++ and Rust

                                                                              Learn how to bring multithreaded applications written in other languages to WebAssembly. WebAssembly threads support is one of the most important performance additions to WebAssembly. It allows you to either run parts of your code in parallel on separate cores, or the same code over independent parts of the input data, scaling it to as many cores as the user has and significantly reducing the over

                                                                                Using WebAssembly threads from C, C++ and Rust
                                                                              • C言語へのFFIを含むRustをWASM化するのは難しすぎる

                                                                                つらみ PlantUMLをwasm化するためにGraphvizへの依存をどうしたものか考えていました。すべてRustで書き直せればそれがいちばん手堅いのですが、Graphvizのソースコードは中々に大きく、それをRustで書き直すのは現実的ではありません。そこで考えたのが、RustからFFIでGrapvizのC++コードを呼ぶようにして、それをwasm化すればいいじゃないかというアイデアです。 こんなことを言いましたがツラい・・・この道はツラいです。もう諦めようと思っています。私の力では限界を感じました。 というわけで、やり散らかしたままにしておいても時間の無駄になるので何らか学びを得るためにまとめてみようと思います。 RustでCのライブラリにFFIするのは簡単だ RustはそもそもFFIの機構を持っている Rustはにはexternキーワードがあり、以下のようにC言語の関数をRustか

                                                                                  C言語へのFFIを含むRustをWASM化するのは難しすぎる
                                                                                • Rubyを手軽にブラウザ上で動かすことが可能に WebAssemblyを使って解消する、Rubyの動作環境問題

                                                                                  プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、齋藤優太氏。「Ruby meets WebAssembly」のテーマで、WebAssembly上でRubyが動くようになった経緯、テクニック、ユースケースについて発表しました。全2回。前半は、なぜWebAssembly対応をするのか、そのモチベーションと経緯について。 登壇者の自己紹介とアジェンダ紹介 齋藤優太氏(以下、齋藤):いやぁ~、緊張しますね(笑)。みなさんおはようございます。 会場:おはようございます。 齋藤:「Ruby meets WebAssembly」ということで、今日は最近少し話題になっているRubyとWebAssemblyの話をしようと思います。よろしくお願いします。 (会場拍手) RubyがWebAssembly上で動くようにな

                                                                                    Rubyを手軽にブラウザ上で動かすことが可能に WebAssemblyを使って解消する、Rubyの動作環境問題