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
先日、縦書き文庫の組版エンジン(nehan)をRustで書き直し、WebAssembly化したと報告しました。 tategakibunko.hatenablog.com その際に「約3倍の速度向上があった」と書いたのですが、あれから約2週間分の利用者のログをもとに、プラットフォーム別に速度を比較したところ、ちょっと違う結果が出ました。 比較したプラットフォーム とても大雑把ですが、PC(Windows)とPC(Mac)とiPhone、Androidに分けて計測しました。 プラットフォーム別の速度 以下は速度比較のグラフです。縦軸は秒速の組版字数で、大きいほど速いことになります。 赤がnehan7(js)の速度で、青がnehan8(wasm)の速度です。 nehan7(js) vs nehan8(wasm) プラットフォーム別の速度向上率は、こんな感じでした。 PC(Windows):約7倍
ASP.NET Core Blazor WebAssembly と Web API と Entity Framework Core で SQL Server のデータを取得したり追加したり更新したり削除したりする [.NET 6 版]C#EntityFrameworkASP.NET_CoreBlazor はじめに 2022 年 11 月に .NET 6 と Visual Studio 2022 がリリースされました。ということで .NET 6 版の Blazor WebAssembly / ASP.NET Core Web API / Entity Framework を使って CRUD アプリケーションを作っていきたいと思います。 (以前書いたこれの .NET 6 版です) 完成イメージ 環境 Windows 10 Pro Microsoft Visual Studio Communit
The Deislabs team is really excited about WebAssembly. In fact, we’ve been experimenting and sharing our knowledge by developing new technologies in the WebAssembly space, such as Krustlet, WAGI, bindle, yo-wasm, and wasi-experimental-http. While experimenting with these new technologies, it became clear that we need to make it easy for developers to deploy and test out their new ideas. Today, we’
ⓘ This documentation is aimed at users of the component model: developers of libraries and applications. Compiler and Wasm runtime developers can take a look at the Component Model specification to see how to add support for the component model to their project. Status WASI 0.2.0 was released Jan 25, 2024, providing a stable release of WASI and the component model. This is a stable set of WIT defi
はじめに こんにちは。Blockchain Lab の高瀬(loloicci)です。 先日 gihyo.jp にて『Webエンジニアの新しい道 ~LINE Blockchain Labが拓くブロックチェーンの世界』 で取り上げて頂いたとおり、LINE Blockchain では WebAssembly (WASM) 形式のスマートコントラクトを実行する機能を開発しています。 WebAssembly は名前の通り Web で使用することを想定して開発され始めた言語ですが、いくつかの特長から Web 以外の様々な分野からも注目を集めています。 また、Blockchain におけるスマートコントラクトも WebAssembly に注目している分野の一つです。 この記事ではブロックチェーンにおけるスマートコントラクトの紹介と、スマートコントラクト分野がなぜ WebAssembly を注目しているの
Ruby 3.2.0がリリース―WebAssembly/WASIサポート、YJIT実用化、正規表現DoSへの対応など 2022年12月25日、Rubyの最新バージョンとなるRuby 3.2.0がリリースされた。Ruby 3.2では多くの機能が追加され、機能の改善も数多く実装されている。 WASIベースのWebAssemblyサポート WebAssembly(Wasm)は、Webブラウザ上で高速、安全に動かすためのバイナリソフトウェア形式。これをブラウザを介さず各種OS上で動かすためのインターフェース仕様であるWASI(The WebAssembly System Interface)に対応した。これにより、CRubyのバイナリがWebAssembly/WASI環境をもつOS、ブラウザ、IoT環境などさまざまなプラットフォーム上で利用できるようになる。さらに、WASIの上にVFS(仮想ファイ
Speeding Up the Webcola Graph Viz Library with Rust + WebAssembly For a recent project I've been working on, I wanted to include a graph showing the relationships between different artists on Spotify. Spotify provides the data directly from their API, and I had everything set up to pull it for a user's top artists and into the browser. This is the story of how I took the initial unoptimized graph
Read it now on the O’Reilly learning platform with a 10-day free trial. O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers. WebAssembly: The Definitive Guide is a thorough and accessible introduction to one of the most transformative technologies hitting our industry. What started as a way to use languages
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 様々なローカルアプリケーションがWeb化していますが、JavaScriptの実行速度はネイティブアプリケーションに比べて劣ってしまいます。しかしWebAssemblyを用いることで大幅に改善できます。 今回紹介するWASM-ImageMagickは名前の通り、ImageMagickをWebAssembly化したソフトウェアです。 WASM-ImageMagickの使い方 回転するテキストを生成します。Web上だけで画像を作成しています。 画像をエフェクトしたり、アニメーションGIFを生成したりできます。 WASM-ImageMagickの実行速度は十分使えるレベルです。二つの画像をモーフィングしてアニメーションGIFにしたり、加工したりするのも簡単です。ちょっとした加工であればIm
It's been just over three months since we announced the Guile on WebAssembly project (codenamed Hoot). Since then we've brought on two fantastic hackers to develop the project and progress has been quick. We now are at the point where we have things to show: we can now compile various Scheme procedures directly to WebAssembly. Let's clarify that: by compiling directly to WebAssembly, we mean they
2022/09/15 未明に .NET 7.0 rc1 がリリースされました GitHubの dotnet/runtime リポジトリのIssueにあるスケジュールから予想されるどおりの日にリリースされましたね。 この記事では本日 .NET Blog で公開された ASP.NET Core updates in .NET 7 Release Candidate 1 で紹介されている、最も私が期待していた .NET JavaScript interop on WebAssemblyを試してみます。 .NET JavaScript interop on WebAssembly とは ざっくりと説明すると、Blazor WebAssemblyのコアとなっていたWebAssemblyベースの.NETランタイムを、例えばNode.js上やBlazorを介さないブラウザ上で動作するようにしたものです。
はじめに こんにちは @glassmonekeyです。 久しぶりの投稿になります。 今回は個人開発ネタで WebAssembly を使った PHP の Playground を作ったので紹介になります。 PHP を WebAssembly で動かす仕組みそのものに関しては 2023 年 3 月 23 日にて PHPerKaigi2023でPHPをブラウザで動かす技術も話す予定なので そちらも合わせてご確認ください。この記事では WebAssembly そのものや PHP の Build についてそこまで触れません。 この記事では主にサービスに関する実現手段にフォーカスしての紹介になります。 作ったもの ソースコードはこちらになります。 なぜ作ろうと思ったのか PHP で簡単なスニペットの実行と共有に課題を感じていたためです。 コードレビューといったコミュニケーションの場面や、文法の確認とい
Show navigation Introduction #Thanks to recent work in Chrome and Emscripten, you can now use up to 4GB of memory in WebAssembly applications. That’s up from the previous limit of 2GB. It might seem odd that there was ever a limit - after all, no work was needed to allow people to use 512MB or 1GB of memory! - but it turns out that there are some special things happening in the jump from 2GB to 4G
WebAssembly SIMD を pixelmatch に適用した #ついに Safari にWebAssembly SIMDが来るとのことで試してみた。 対象はpixelmatchあたりが手頃そうなのでこれを対象とする。 Safari as the last browser finally supports WebAssembly SIMD 🎉 pic.twitter.com/HVX3gZTrRi — CryZe (@CryZe107) December 23, 2022目次モチベーション #RustからWebAssembly SIMDをどう使うのか学びたいWebAssembly SIMDによるパフォーマンスの変化を観測したいまたreg-viz/reg-cliがpixelmatchに依存しており、reg-viz/reg-cliをRust,wasm製にしたいという活動の一環でもある。
A city building game that uses microscopic models to vividly simulate the organism of a city arising from the interactions of millions of individuals.
PDF documents are a major part of our digital lives and, in an era where we spend most of our time working inside a web browser, enhancing the PDF experience on the web is crucial for providing a seamless, multi-device experience. As the creators of PDF, this led Adobe to envision Acrobat Web; we embarked on our Acrobat Web journey with the introduction of the Document Cloud PDF Embed API last yea
2019-06-07 Prereqs Scope and goals Creating the simplest possible WebAssembly module Creating the smallest useful WebAssembly module Making some pixels Adding animation Help! My binary just got much bigger! (Diagnosing and fixing sudden bloat.) Help! I need trig! (Importing functions from JavaScript.) I’ve been studying WebAssembly recently, which has included porting some of my m4vga graphics dem
How to Use Multiple GitHub Accounts Git is a popular tool for version control in software development. It is not uncommon to use multiple Git accounts. Correctly configuring and switching Git accounts is challenging. In this article, we show what Git provides for account configuration, its limitations, and the solution to switch accounts automatically based on a project parent directory location.
Protecting the security and privacy of individuals is a central tenet of Mozilla’s mission, and so we constantly endeavor to make our users safer online. With a complex and highly-optimized system like Firefox, memory safety is one of the biggest security challenges. Firefox is mostly written in C and C++. These languages are notoriously difficult to use safely, since any mistake can lead to compl
ウェブアプリケーションのパフォーマンス向上は、ユーザーエクスペリエンスの向上に直結します。そこで、本記事ではWebAssemblyを使用してJavaScriptアプリケーションの実行速度を向上させる方法を紹介します。 1. WebAssemblyとは WebAssembly(通称Wasm)は、ウェブで高速な実行を実現するためコードです。。これは、ウェブブラウザ内で実行できる低レベルのバイナリフォーマットであり、JavaScriptの補完として設計されています。WebAssemblyの主な目的は、ウェブでの高性能なアプリケーションの実現を支援することです。これにより、C、C++、Rust、Goなどの言語で書かれたプログラムをウェブアプリケーションで直接実行することが可能になります。 Amazon Prime Videoで動画再生にWebAssemblyを採用されている実例があるようです。 2
Here at Fermyon, we are enthusiastic (to say the least) about WebAssembly. But we also value openness, thoughtfulness, and caution. Intellectual honesty is the practice of examining available evidence in a way that includes not just confirming information (see the Confirmation Bias), but also information that may run counter to the thesis. Following this practice helps us all see the potholes in t
Software Design (ソフトウェアデザイン) 2021年3月号 [雑誌] 技術評論社Amazon rust-jp の Slack で知り、読んでみました。 3 ~ 4 時間でさらっと読めるボリューム。 全体的に手を動かす成分はそこまで多くなかった印象で、読み物として面白かった。 以下、各章の感想など。 第1章 WebAssemblyの登場の経緯と利用方法 自分のこれまでの知識を復習しつつ、歴史的経緯などは知らなかった部分も多かった。 WAT のフォーマットについては以前読んだこちらの記事が良かった。 WebAssemblyハンズオン: 実際に動かして基礎を学ぶ(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社 また、印象的だったのはWasmの用途のところで 現代のブラウザが JavaScript を高速に実行するためには、大まかに「(
Mewz とは Mewz は2023年度未踏IT人材発掘・育成事業において、上田氏、野崎氏によって開発されている WebAssembly (Wasm) 専用の unikernel である。 www.ipa.go.jp github.com unikernel 実装である Mewz と、WebAssembly バイナリをマシンネイティブなオブジェクトファイルに変換する Wasker の詳細については氏らの成果報告において発表されているため割愛する。 https://demoday.saza.dev/demoday/ libkrun libkrun は RedHat のエンジニアである Sergio López 氏によって開発されている、コンテナ向けのVMMである。 github.com VMM としては QEMU が代表例として知られているが、 QEMU はコンテナ向けに利用するにはフットプ
English version 目次 juce_emscriptenを体験する JUCEのプラットフォームバックエンドの基本 自分のプロジェクトをjuce_emscriptenでビルドする際の注意点 missing modules missing Projucer builder type missing resources 足りない機能は自分で移植できる おまけ 2020年元旦からわれわれの界隈には刺激的なニュースが出てきました。 www.dtmstation.com この記事で触れられているDreamtonics社がgithubで公開しているというのは、このjuce_emscriptenというJUCEのforkプロジェクトです。emscriptenを活用してwasmおよび周辺ファイルを生成します。 github.com ちょっとだけ(本当にちょっとだけ)開発の手伝いをしていたので、詳し
本記事は、TechFeed Experts Night#30 〜 Rust / WebAssembly最前線のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 Rust Tokyoの運営をしている@chikoskiと言います。WebAssemblyのコミュニティもやっていて、TechfeedにはWebAssemblyのエキスパートとして関わらせていただいています。 最近、いろいろなところでWebAssemblyの名前を耳にします。今日はRustでWebAssembly向けに開発する方法や、今のところのベストプラクティスをお話できればと思います。よろしくお願いします。 まとめを先に言いますと、今はcargo-componentというツールを使って開
デバッグしよう Blazor WebAssembly を触ってみる - その①環境を整える、サンプルを動かす の続きです。 今回は以下の記事を参考にデバッグ操作を試してみたいと思います。 ASP.NET Core Blazor WebAssembly をデバッグする https://docs.microsoft.com/ja-jp/aspnet/core/blazor/debug?view=aspnetcore-3.1#visual-studio-code Visual Studio Code でやってみる 1. launch.json の確認 .vscode\launch.json がない状態で Run -> Start Debugging (F5) でデバッグ実行をクリックすると、以下のように環境の選択肢が表示されたと思います。 ここで .NET Core を選択すると以下のようなデバ
Back to articlesWasmer takes WebAssembly libraries mainstream with WAIImport WebAssembly libraries just like any other dependency in your project Integrating with other languages and distributing binaries has always raised the WebAssembly's barrier to entry for the average developer, and at Wasmer our goal is to make trivial creating universal libraries that work anywhere. Today, we are happy to a
メシウス株式会社のDeveloper Solutions〈開発支援ツール〉の情報発信メディア「MESCIUS.devlog」 .NET 5で対応されないASP.NET Web Formsの移行先としても注目を集める「ASP.NET Core Blazor」ですが、その本命とも言われている「Blazor WebAssembly」が2020年5月に正式リリースされました。 こちらは2020年7月17日まで開催中のオンラインイベント「de:code 2020」にて、マイクロソフト コーポレーションの井上章さんのセッションの中で詳しい解説やデモを見ることができます。 今回の記事では、Blazor WebAssemblyの公式のプロジェクトテンプレートをベースに、Blazor WebAssemblyの基本的な使い方や、標準のテーブルを高機能なデータグリッドに置き換える手順などをご紹介したいと思います
はじめに この記事では、個人の習作としてwasm-image-resizerという簡易な画像リサイズ・フォーマット変換ツールをWebAssembly + PWA + Reactで作成したので、そのときに私の得た知見を記載したいと思います。 アプリとしては実に単純であんまり面白みもないのですが、半ばちょっとした好奇心と勢いで自分なりに作ってみました。手探りで拙いですが、ソースコードは以下に配布していますので、よかったら見てみてください。 アプリの技術目標 このアプリを通して私が考えた技術目標は以下のとおりです。 フロントエンドとしては言語はTypeScript、Viteをベースにする UIのフレームワークとしてReactを使用 画像変換などのアプリでやりたいコアな処理はRustで記述 wasm-bindgenとwasm-packでWebAssembly化・javascriptパッケージ化を行
KubeCon NA 2022に参加した日本人エンジニアに集まっていただき実施した座談会のようすを紹介する。 KubeCon + CloudNativeCon NA 2022は、パンデミック発生以来久しぶりに多くの参加者を集めたカンファレンスとなった。実際、前回のバレンシアではほとんど見つけられなかった日本からの参加者も複数確認することができた。今回はそんな参加者を集めて行った座談会の一部を紹介する。会期の最終日、閉会後の会場内のカフェテリアという限られた状況の中、参加してくれたのは、ソフトバンクコマース&サービスの加藤学氏、ドコモイノベーションズの守屋裕樹氏、NTTの須田瑛大氏、サイバーエージェントの中西建登氏、同じく青山真也氏、F5ネットワークスの中嶋大輔氏だ。 自己紹介と今回のカンファレンスの印象を簡単にお願いします。 加藤:私は主に事業開発をやっているんですが、今回はDevOpsや
去年くらいからつくりはじめていた、libymfm.wasm ですが、GitHub のリポジトリーにコミットするだけで、ブログにあまりあれこれ書いていませんでした…!(ので書いてみます) libymfm.wasm は WebAssembly 上で動作する(主に) FM 音源シンセサイザーをエミュレートして PCM を生成するライブラリーです。ゲームなどのプログラムへの組み込みを考えて作成されました。 https://github.com/h1romas4/libymfm.wasm This repository is an experimental WebAssembly build of the [ymfm](https://github.com/aaronsgiles/ymfm) Yamaha FM sound cores library. FM 音源エミュレータコアとしては、多目的エミ
「Ruby 3.2.0」公開、WASIベースのWebAssemblyへのコンパイルをサポート その可能性は?:WebAssembly/WASI環境でCRubyのバイナリが利用可能に オープンソースプログラミング言語「Ruby」の最新メジャーリリース「Ruby 3.2.0」が公開された。WASIベースのWebAssemblyサポートが追加されている。 Ruby開発チームは2022年12月25日、オープンソースプログラミング言語「Ruby」の最新メジャーリリース「Ruby 3.2.0」(以下、Ruby 3.2)を公開したと発表した。 Ruby 3.2では、WASIベースのWebAssemblyサポート、実用段階になったYJIT、ReDoS攻撃に対する正規表現クラスの改善など、多くの機能追加やさまざまな改善が行われている。 WASIベースのWebAssemblyサポート WASIベースのWebA
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く