Svoboda | Graniru | BBC Russia | Golosameriki | Facebook

並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 640件

新着順 人気順

Wasmの検索結果241 - 280 件 / 640件

  • Rustで学ぶWebAssembly Interface Type入門

    TL;DR Wasmコンポーネントのインターフェースを定義する言語です パッケージという形で名前空間を提供します インポートとエキスポートの定義のことをワールド(world)と呼びます 注意:仕様策定中の技術を扱っています。仕様作成の進行によっては、内容が正しくない場合があります。 背景 Wasmモジュールにはi32、i64, f32, f64の4種類のデータ型しか存在しません。また文字列やユーザー定義型のような構造を持つデーターの表現にも標準が存在せず、データをどのようにメモリ上に配置方法はプログラミング言語の処理系、またはプログラマーが決めるものとされていました。 例えば、次のようなデータ構造と、それに対する操作があったとします。 pub struct Point { x: i32, y: u8, z: u16, } #[no_mangle] pub fn hash(point: &P

      Rustで学ぶWebAssembly Interface Type入門
    • Ruby meets WebAssembly

      RubyKaigi 2022 Keynote https://rubykaigi.org/2022/presentations/kateinoigakukun.html#day1

        Ruby meets WebAssembly
      • WebAssembly: Docker without containers!

        This is a companion article to a talk about Docker+WebAssembly that we gave at "Docker Community All Hands 7, Winter Edition" on Dec 15th, 2022. Introduction Recently Docker announced support for WebAssembly in cooperation with WasmEdge. This article will explain what is WebAssembly, why it is relevant to the Docker ecosystem and provide some hands-on examples to try on. We assume you are familiar

          WebAssembly: Docker without containers!
        • 10月新刊情報『ハンズオンWebAssembly』

          『ハンズオンWebAssembly ―EmscriptenとC++を使って学ぶWebAssemblyアプリケーションの開発方法』 Gerard Gallant 著、北原 憲、洲崎 俊、西谷 完太、磯野 亘平、米内 貴志 訳 2022年10月12日発売予定 512ページ(予定) ISBN978-4-8144-0010-2 定価4,180円(税込) WebAssemblyはWebブラウザ上で効率的かつ安全にコードを実行するために開発された技術です。様々なプラットフォームでの実行や、C++やRustなどのプログラミング言語で開発が可能です。本書はWebAssemblyの技術的な原理、動作、どのようなことが可能なのかを基礎からしっかり学ぶことができ、かつ実践的な開発テクニックにまで踏み込んだ開発者向けの解説書です。プログラミング言語は主にC++を取り扱います。簡単な例から解説をはじめ、動的リンクや

            10月新刊情報『ハンズオンWebAssembly』
          • GoでWebAssembly――Go標準のWebAssemblyサポートを体験する

            GoとWebAssembly 今回は、プログラミング言語GoによるWebAssemblyプログラムの開発を紹介します。Goは、Googleの開発したプログラミング言語であり、WebAssemblyへの対応も積極的に行われています。C/C++やRustでは、EmscriptenやRust and WebAssemblyのような外部プロジェクトとの連携でWebAssembly対応を果たしていました。Goでは、直接WebAssemblyバイナリをターゲットにできるなど、言語レベルでWebAssemblyに対応しているのが特徴です。そのため、Goの言語環境を整える以外の特別な環境整備が不要で、すぐに標準ライブラリを含めたGoの言語仕様を十分に生かしたWebAssemblyプログラムを作成することができます。 Goは、C/C++やRustと同様にネイティブコードをターゲットにしたプログラミング言語で

              GoでWebAssembly――Go標準のWebAssemblyサポートを体験する
            • WinterJS 1.0 · Blog · Wasmer

              Back to articlesWinterJS 1.0Announcing WinterJS 1.0, the fastest Javascript web server now also supporting Cloudflare applications and React Server Components WinterJS 1.0 is finally here. WinterJS is an incredibly fast WinterCG-compatible Javascript runtime written in Rust using the SpiderMonkey engine to execute JavaScript, and Tokio to handle the underlying HTTP requests and JS event loop. Wint

                WinterJS 1.0 · Blog · Wasmer
              • kateinoigakukunがプログラムに興味を持ったきっかけ、Wasmとの出会い。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.1 - STORES Product Blog

                2022年10月5日に『深掘りRubyKaigi 2022 with ko1 & kateinoigakukun ~ RubyKaigiどうでした&RubyのWASI/並列どうなるの? ~』を開催しました。イベントでお話した内容を3部作でお届けします。 自己紹介 fujimura:皆様、今日はお集まりいただきありがとうございます。今日はゲストにkateinoigakukunさんと、笹田さんをお迎えしております。プログラムとしては、前半でkateiさんにWasmの話を聞いて、後半に笹田さんに並列並行のところを聞くというようなコンテンツでやっていきます。 さっそく始めていこうと思うのですが、僕らの自己紹介と、kateiさんの自己紹介から始めようかな。僕は STORES でCTOをやってる藤村と申します。RubyKaigiもリアルで参加して、非常に楽しかったです。じゃあ、hogelogさん。 h

                  kateinoigakukunがプログラムに興味を持ったきっかけ、Wasmとの出会い。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.1 - STORES Product Blog
                • WasmOS: Wasmを実行する自作マイクロカーネル

                  背景 WebAssembly(Wasm)をブラウザの外で活用するためにWASIの標準化が進められています。その目的は隔離され、制限されたWasmの実行環境を作ることですが、これは難しい挑戦です。WASMの安全性は外部APIの能力に依存するため、WASIの標準化は慎重に行う必要がありますが、これには多くの時間がかかります。私はこれがWASIXやWALIといった新しいシステムインタフェースが登場した原因の一つであると考えています。汎用だったはずのWasmバイナリは既にランタイム依存になりつつあります。 WASIでセキュリティを考え、苦労して「第二のOS」を作る必要があるという事実は、既存のOSが今の時代に即したものでないことを示唆します。ならばいっそ、新しいOSを作ってしまうのはどうでしょう? この記事ではWasmを実行する自作マイクロカーネルである、WasmOSを紹介します。 WasmOS

                    WasmOS: Wasmを実行する自作マイクロカーネル
                  • GitHub - electric-sql/pglite: Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno from https://electric-sql.com

                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                      GitHub - electric-sql/pglite: Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno from https://electric-sql.com
                    • containerd/runwasiを読む

                      containerd/runwasiを読む #2023-02-24 以下を見て興味が湧いたので、軽く試したり読んだりしてみた。 とりあえず分かったことを記録しておく。 コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていくhttps://t.co/FAFSwMpOY5 — Publickey (@publickey) February 21, 2023目次Hello runwasi #とりあずREADME通りに試してみる。 wasmedgeをインストールし、make build, sudo make install。 demo を build しloadする。

                        containerd/runwasiを読む
                      • mrubyを通じてWebAssemblyの未来を想う~新しいウェブサービスの開発課程にて | IIJ Engineers Blog

                        日本Haskellユーザーグループ(愛称 Haskell-jp)発起人の一人にして、Haskell-jpで一番のおしゃべり。 HaskellとWebAssemblyとプリキュアとポムポムプリンをこよなく愛する。 こんにちは。ブラウザ外のWebAssemblyに関心が偏りすぎて、ブラウザにおけるWebAssemblyについて聞かれると戸惑うことが多い山本悠滋です。普段はIIJ-IIの技術開発室という部署で、IIJ本体をサポートするための開発をいろいろ行ったり、WebAssemblyを応用した新しいウェブサービスの開発に取り組んでいます。 今回は、開発している「WebAssemblyを応用した新しいウェブサービス」のサンプルとして、mrubyのインタープリタをWASIに準拠したWebAssemblyファイルにコンパイルするまでの課程や、それを通じてわかった、今のWebAssemblyに足りない

                          mrubyを通じてWebAssemblyの未来を想う~新しいウェブサービスの開発課程にて | IIJ Engineers Blog
                        • Wasm版PostgreSQLに生成AIを組み合わせた「Postgres.new」無料公開。自然言語でクエリ、エンベディングの作成、CSVからテーブル自動生成など

                          Wasm版PostgreSQLに生成AIを組み合わせた「Postgres.new」無料公開。自然言語でクエリ、エンベディングの作成、CSVからテーブル自動生成など PostgreSQLをベースにしたBaaS(Backend as a Service)の「Supabase」を開発し提供しているSupabase社は、WebAssembly版PostgreSQLである「PGlite」と生成AIを組み合わせ、Webブラウザ上でPostgreSQLを自然言語で操作できる「Postgres.new」を無料で公開しました。 参考:WebAssemblyとしてPostgreSQLをビルドした「PGlite」公開。Node.jsやブラウザ上でPostgreSQLを実行、DBの永続化も可能 Postgres.newはWebブラウザ上でWebAssembly版のPostgreSQLである「PGlite」を簡単に

                            Wasm版PostgreSQLに生成AIを組み合わせた「Postgres.new」無料公開。自然言語でクエリ、エンベディングの作成、CSVからテーブル自動生成など
                          • Rust x WASMのyewでTodoAppを作ってみた - console.lealog();

                            話題になってたのは去年くらいな気もするし今さら感はあるけど、今だからこそすごい化けてたりしないかなーという期待も込めて。 個人的には、WASMでWebアプリを作る時代になるとはあまり思えてないけど、まぁ試しておく価値はあるかなと思いその学びをメモ。 yewstack/yew GitHub - yewstack/yew: Rust / Wasm framework for building client web apps RustでReactっぽいコードが書けて、それがWASMで動くので、型ありでちょっぱやなWebアプリが作れるぜ!っていうやつ。 今のバージョンは`0.11.0`で、最小のコードはこんな感じ。 use yew::{html, Callback, ClickEvent, Component, ComponentLink, Html, ShouldRender}; struct

                              Rust x WASMのyewでTodoAppを作ってみた - console.lealog();
                            • How Prime Video updates its app for more than 8,000 device types

                              At Prime Video, we’re delivering content to millions of customers on more than 8,000 device types, such as gaming consoles, TVs, set-top boxes, and USB-powered streaming sticks. When we want to do an update, every one of those devices requires a separate native release, posing a difficult trade-off between updatability and performance. In the past year, we’ve been using WebAssembly (Wasm), a frame

                                How Prime Video updates its app for more than 8,000 device types
                              • GitHub - vaaaaanquish/wasm_lindera_example: rust + lindera + webassembly + next.js + typescriptで形態素解析するサンプル

                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                  GitHub - vaaaaanquish/wasm_lindera_example: rust + lindera + webassembly + next.js + typescriptで形態素解析するサンプル
                                • WebAssembly backend merged into GHC

                                  Tweag has been working on a GHC WebAssembly backend for some time. Recently, the WebAssembly backend merge request has landed in GHC, and is on course to appear in the upcoming 9.6 release series. This post will give a quick demonstration of how to try it out locally, and explain what comes in this patch and what will be coming next. Playing with WASM locally If you’re using nix on x86_64-linux, c

                                    WebAssembly backend merged into GHC
                                  • Node.js のWASIモジュールについて - kakts-log

                                    この記事は Node.js Advent Calendar 2019の16日目の記事となります。 qiita.com 今回は Node.js 13.3.0から導入されたWebAssembly System Interface (WASI)モジュールに関して紹介します。 WASIについて wasi.dev github.com WASI APIはWebAssembly System Interface(WASI)の仕様の実装を提供するものです。WASIはPOSIXライクな関数を介してOSへのアクセスを行うためのサンドボックスWASMアプリケーションを提供します。 WebAssemblyおよびWASIに関しては、あまり詳しくなかったのですが、下記の記事を読んで理解が深まりました。 inzkyk.github.io hacks.mozilla.org Node.js v13.3.0から、コード上

                                      Node.js のWASIモジュールについて - kakts-log
                                    • Spin 1.0 — The Developer Tool for Serverless WebAssembly

                                      We are delighted to introduce Spin 1.0, the first stable release of the open source developer tool for building serverless applications with WebAssembly (Wasm)! Since we first introduced Spin last year, we have been hard at work together with the community on building a frictionless developer experience for building and running serverless applications with Wasm. For this release, we focused on bui

                                        Spin 1.0 — The Developer Tool for Serverless WebAssembly
                                      • WebAssembly が新しいウェブ機能を加速する仕組み

                                        .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                          WebAssembly が新しいウェブ機能を加速する仕組み
                                        • How Shopify Uses WebAssembly Outside of the Browser

                                          Opens in a new windowOpens an external siteOpens an external site in a new window On February 24, 2021, Shipit!, our monthly event series, presented Making Commerce Extensible with WebAssembly. The video is now available. At Shopify we aim to make what most merchants need easy, and the rest possible. We make the rest possible by exposing interfaces to query, extend and alter our Platform. These in

                                            How Shopify Uses WebAssembly Outside of the Browser
                                          • Fastly Compute@Edge を用いた CDN の構築|株式会社カウシェ

                                            こんにちは、株式会社カウシェの Architect の伊藤です。 本稿では、カウシェが CDN の構築に利用している Fastly Compute@Edge について、「採用した理由」や「テストやデプロイの方法」などを実装例を混じえてご紹介します。 伊藤 雄貴 / @yuki.ito DeNA を経て 2018 年にメルペイにジョインし、Tech Lead や Architect としてマイクロサービスの開発や組織横断的な技術課題の解決に携わる。カウシェには立ち上げのタイミングから副業として参画し Backend 全般の実装を行う。2022 年 7 月より Architect としてカウシェに正式にジョインし、全社的な技術戦略の意思決定や技術基盤の構築に携わる。 Fastly Compute@Edge とはFastly Compute@Edge は Fastly が提供しているコンピューテ

                                              Fastly Compute@Edge を用いた CDN の構築|株式会社カウシェ
                                            • GWなのでRustでLuaを実装し(ようとし)た話 - ローファイ日記

                                              GWは、ゲートウェイじゃなくゴールデンウィークです。 タイトルの通り、連休の多くの空き時間を言語実装に費やしてしまった...。 github.com とにかく、スターがついて承認されたいという気持ちが強いです(結論ファースト)。 今のところ、この辺りの機能はできている。 四則演算 Rustでの/Luaでのグローバル関数定義 関数内ローカル変数 if/then/else文 配列ベースの繰り返し(ただ、配列操作ができない) フィボナッチ数を求めるとこんな感じ。 2.4 GHz / 8コア Intel Core i9 のMacで実行した。といってもシングルコアしか使わないのだが。 function dofib(n) if n < 2 then return 1 else return dofib(n-1) + dofib(n-2) end print("Unreachable!\n") end

                                                GWなのでRustでLuaを実装し(ようとし)た話 - ローファイ日記
                                              • Docker+Wasmを試してみた(Docker Engineのビルドから)

                                                はじめに DockerでWasmを実行できるDocker+Wasmがテクノロジープレビューとして発表されました。 公式ドキュメントにはDocker Desktopのバイナリしか公開されていませんでしたが、GitHubリポジトリにWasm対応のDocker Engineをインストールする方法がありました。 個人アカウントのリポジトリですが、Docker社の人がCloud Native Wasm Day North America向けにつくったリポジトリのように思われます。 本記事は、上記の方法でWasm対応のDocker Engineをインストールして試した結果のまとめになります。 環境 ホストOS:Ubuntu 22.04.1 作業ログ 以下を参考にインストールを進めます。 Docker+Wasmのインストール 前提条件 以下がインストールされていること Docker Docker Com

                                                  Docker+Wasmを試してみた(Docker Engineのビルドから)
                                                • Proxy-Wasm: エッジでのWasm研究開発最先端

                                                  @ Infra Study Meetup #8 「インフラと研究開発」 https://forkwell.connpass.com/event/193256/

                                                    Proxy-Wasm: エッジでのWasm研究開発最先端
                                                  • Bluesky、AT Protocol開発助成金を発表――招待制廃止、連合機能の実装に続き、オープンな開発エコシステムによる成長がさらに加速 | gihyo.jp

                                                    Bluesky⁠⁠、AT Protocol開発助成金を発表 ――招待制廃止⁠⁠、連合機能の実装に続き⁠⁠、オープンな開発エコシステムによる成長がさらに加速 2024年3月6日、分散型SNS「Bluesky」は、同サービスの根幹となるオープンプロトコル「AT Protocol」の一層の開発拡大・促進を目指すために、AT Protocol開発を対象とした助成金を発表した。 開発促進のエコシステムとしての助成金 Blueskyは、2023年1月にiOS/Android版アプリとしてリリースされた分散型SNSの1つ。元々、Twitter共同創業者の1人であるJack Dorsey氏らが集まって始まったプロジェクトで、リリース当初は招待制のSNSとして、熱量の高いユーザを中心に限定した中でサービスが動いていた。 その後、後述のように招待性が廃止、さらにBlueskyの注目機能の1つである連合機能の実

                                                      Bluesky、AT Protocol開発助成金を発表――招待制廃止、連合機能の実装に続き、オープンな開発エコシステムによる成長がさらに加速 | gihyo.jp
                                                    • WebAssemblyランタイム「Wasmer 2.1」リリース。WASI用に仮想ファイルシステムを実装し、ブラウザでもWASIが利用可能に

                                                      WebAssemblyランタイム「Wasmer 2.1」リリース。WASI用に仮想ファイルシステムを実装し、ブラウザでもWASIが利用可能に 米Wasmer社はオープンソースのWebAssemblyランタイム「Wasmer 2.1」の正式リリースを2021年12月2日付けで発表しています。 Wasmer 2.1では、仮想ファイル機能を提供することでWebブラウザやNode.jsで互換性のあるWASI APIを実現、iOSへの対応などの強化が行われました。 BREAKING NEWS: Wasmer 2.1 released. Features added, bugs smashed, don't wait, try it now! - Wasmer-JS - Virtual Filesystem - iOS Support - Singlepass in Windows - Faster

                                                        WebAssemblyランタイム「Wasmer 2.1」リリース。WASI用に仮想ファイルシステムを実装し、ブラウザでもWASIが利用可能に
                                                      • Photon: A high-performance WebAssembly image processing library.

                                                        Image Processing in WebAssembly Photon is a high-performance image processing library in WebAssembly that runs both natively and on the web. Features Photon outperforms even the fastest of libraries, and is powered with Rust, allowing for safe and secure image processing. Web-Assembly Friendly For web-based image processing, Photon is 4-10x faster than JS, leading to faster results, and less lag.

                                                          Photon: A high-performance WebAssembly image processing library.
                                                        • WebAssembly Night_Wasmを実行するunikernelとWasmコンパイラ

                                                          何がアツいか
 🔥 unikernel による Wasm の高速な実行
 
 🔥 WASI によって unikernel の互換性の問題を解決
 
 🔥 unikernel を Wasm コンテナとして透過的に扱う
 
 🔥 Wasm コンパイラによって WASI をカーネルに対する標準的なイ ンターフェースとして普及

                                                            WebAssembly Night_Wasmを実行するunikernelとWasmコンパイラ
                                                          • セキュリティキャンプ2024 WebAssemblyゼミの備忘録 - ainnoooのブログ

                                                            WebAssemblyゼミの講師を@saza_kuとさせてもらいました 新設のゼミでして、Wasm楽しいよという独り言と、受講生の方々が優秀すぎましたという備忘録です WebAssemblyゼミとは? WebAssembly(Wasm)は仮想命令セットです。RustやGoをはじめ様々な言語で記述されたアプリケーションをWasmターゲットにコンパイルできます。 Wasmは仮想命令セットですので、x86などのCPUで実行できるようWasmの命令を解釈するソフトウェアが必要になります。これをWasmランタイムと呼んでいまして、本ゼミはWasmランタイムを実装するゼミです。 Wasmの仕様を読み解きながら、基本的なWasmランタイムを実装し、ちょっとしたアプリケーションを動かす、というのがゼミの当初のゴールでした(このゴールはすぐに良い意味で破られます) 応募課題 応募課題ではWasmバイナリのp

                                                              セキュリティキャンプ2024 WebAssemblyゼミの備忘録 - ainnoooのブログ
                                                            • WebAssemblyでクラウドネイティブを実現するクラウドサービス「Fermyon Cloud」がオープンベータで登場

                                                              WebAssemblyによるクラウドネイティブなアプリケーションの実現を目指すFermyonは、新たなクラウドサービス「Fermyon Cloud」のオープンベータを発表しました。 Today marks the launch of Fermyon Cloud.https://t.co/FYPXyk8fUI#CloudNativeNA #KubeCon #CloudNativeCon #CloudNativeWasm #WasmDay — Fermyon (@fermyontech) October 24, 2022 FermyonはWebAssemblyに特化したスタートアップです。今年(2022年)3月に、WebAssemblyを用いたイベントドリブンなWebアプリケーションやマイクロサービスアーキテクチャのアプリケーションを実現するためのSpinフレームワークをリリースしました。 S

                                                                WebAssemblyでクラウドネイティブを実現するクラウドサービス「Fermyon Cloud」がオープンベータで登場
                                                              • KubeCon + CloudNativeCon Europe 2024 参加レポート - ZOZO TECH BLOG

                                                                はじめに こんにちは。SRE部フロントSREブロックの三品です。 3月19日から3月22日にかけてKubeCon + CloudNativeCon Europe 2024(以下、KubeCon EUと呼びます)が行われました。今回弊社からはZOZOTOWNのマイクロサービスや基盤に関わるエンジニア、推薦システムに関わるエンジニアの合わせて4人で参加しました。 本記事では現地の様子や弊社エンジニアが気になったセッションや現地の様子について紹介していきます。 目次 KubeConEU2024の概要 セッションの紹介 現地の様子 ブースについて 参加に向けてのTips 最後に KubeCon EU 2024の概要 昨年4月にオランダ アムステルダムで行われたKubeCon EUの様子については昨年の参加レポートをご覧ください。 techblog.zozo.com 今年のKubeCon EUはフラ

                                                                  KubeCon + CloudNativeCon Europe 2024 参加レポート - ZOZO TECH BLOG
                                                                • RubyKaigi 2024 参加レポート - ZOZO TECH BLOG

                                                                  こんにちは、DevRelブロックのikkouです。2024年5月15日から17日の3日間にわたり沖縄県は那覇市で「RubyKaigi 2024」が開催されました。ZOZOは例年同様プラチナスポンサーとして協賛し、スポンサーブースを出展しました。 technote.zozo.com ZOZOとWEARとRubyKaigi エンジニアによるセッション紹介 Generating a custom SDK for your web service or Rails API Namespace, What and Why YJIT Makes Rails 1.7x Faster Using Ruby in the browser is wonderful. An adventure of Happy Eyeballs Embedding it into Ruby code Unlocking Pot

                                                                    RubyKaigi 2024 参加レポート - ZOZO TECH BLOG
                                                                  • GitHub - sql-js/sql.js: A javascript library to run SQLite on the web.

                                                                    const initSqlJs = require('sql.js'); // or if you are in a browser: // const initSqlJs = window.initSqlJs; const SQL = await initSqlJs({ // Required to load the wasm binary asynchronously. Of course, you can host it wherever you want // You can omit locateFile completely when running in node locateFile: file => `https://sql.js.org/dist/${file}` }); // Create a database const db = new SQL.Database(

                                                                      GitHub - sql-js/sql.js: A javascript library to run SQLite on the web.
                                                                    • SIMDによる将棋Bitboard計算の高速化 - すぎゃーんメモ

                                                                      自作Rust製将棋合法手生成ライブラリ、計算の高速化のためBitboardの128bit計算をSIMDで行うようx86_64のAVX2、AArch64のNEON、wasm32のsimd128で動くようにそれぞれ実装して 各環境で多少速く探索できるようになった。https://t.co/h7Dz3X6BhT— すぎゃーん💯 (@sugyan) July 2, 2022 ということでSIMDでの高速化のメモ。 SIMDとは 実装 x86_64 基本演算 飛び利き計算 AArch64 同値判定、ゼロ値判定 飛び利き計算 Iterator WebAssembly Benchmark x86_64 AArch64 WebAssembly 感想 SIMDとは ja.wikipedia.org の通り、複数のデータを1命令で同時に演算する、というもの。 将棋Bitboardは81マスのデータを表現する

                                                                        SIMDによる将棋Bitboard計算の高速化 - すぎゃーんメモ
                                                                      • JS を wasm 化とは何か、あるいは不正確な情報

                                                                        この記事はもしかしたら誤りを含むかもしれません。 今週ツイッター眺めてたら色んな人が javy のリンクを共有していて、なんじゃこれ?と思ったのでそのまとめ。 FYI: https://github.com/Shopify/javy javy は Run your JavaScript on WebAssembly. と説明されていて、要するに JS を wasm で実行するものである。ただこのモチベーションなどがよく分からなかったので、wasm とは何かということから周辺知識をおさらいしつつ javy を理解しようとしてみる。 wasm とは こういうのは MDN を見る WebAssembly は最近のウェブブラウザーで動作し、新たな機能と大幅なパフォーマンス向上を提供する新しい種類のコードです。基本的に直接記述ではなく、C、C++、Rust 等の低水準の言語にとって効果的なコンパイル

                                                                          JS を wasm 化とは何か、あるいは不正確な情報
                                                                        • Rust と Wasm で極限まで PNG ファイルを圧縮した話

                                                                          はじめに 以前つくった Minsta というデジタルスタンプラリーの Web アプリの中で、ブラウザ上で Canvas を使用してスタンプ風の画像を生成する機能があるのですが、前々からもう少し画像のファイルサイズを落とせそうだなと思っていたので、今回 Rust と WebAssembly を使用して PNG ファイルを極限まで圧縮するのに挑戦してみました。 Minsta については以下の記事をご覧ください。 動機 Minsta では単色で背景透過の以下のようなスタンプの PNG 画像をブラウザ側で Canvas の toBlob メソッドを使用して生成しているのですが、このメソッドで PNG エンコードすると 32 bit の RGB+alpha 形式のファイルしか生成できず、 Minsta で扱うような単色の画像にとっては余計にデータサイズが膨らんでしまっていました。 PNG は使用する

                                                                            Rust と Wasm で極限まで PNG ファイルを圧縮した話
                                                                          • GitHub - wasm3/wasm3: 🚀 A fast WebAssembly interpreter and the most universal WASM runtime

                                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                              GitHub - wasm3/wasm3: 🚀 A fast WebAssembly interpreter and the most universal WASM runtime
                                                                            • GitHub - diekmann/wasm-fizzbuzz: WebAssembly from Scratch: From FizzBuzz to DooM.

                                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                GitHub - diekmann/wasm-fizzbuzz: WebAssembly from Scratch: From FizzBuzz to DooM.
                                                                              • DuckDB-Wasm: Efficient Analytical SQL in the Browser

                                                                                TL;DR: DuckDB-Wasm is an in-process analytical SQL database for the browser. It is powered by WebAssembly, speaks Arrow fluently, reads Parquet, CSV and JSON files backed by Filesystem APIs or HTTP requests and has been tested with Chrome, Firefox, Safari and Node.js. You can try it in your browser at shell.duckdb.org or on Observable. DuckDB-Wasm is fast! If you're here for performance numbers, h

                                                                                  DuckDB-Wasm: Efficient Analytical SQL in the Browser
                                                                                • Postgres WASM by Snaplet and Supabase

                                                                                  And open a browser at localhost:3000. Features# Our demo version has a few neat features! Postgres 14.5, psql, pg_dump, etc. Save & restore state to/from a file. Save & restore Postgres state to/from the browser storage (IndexedDB). Quick start from a state file or fully reboot the emulator. Memory configuration options from 128MB to 1024MB. Adjust the font size for the terminal. Upload files to t

                                                                                    Postgres WASM by Snaplet and Supabase

                                                                                  新着記事