Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WebAssembly で 世界最速の数独ソルバーを作った話
Search
Yuto Ono
May 22, 2023
0
620
WebAssembly で 世界最速の数独ソルバーを作った話
Yuto Ono
May 22, 2023
Tweet
Share
More Decks by Yuto Ono
See All by Yuto Ono
EMを目指す方法
yutoono
1
66
Svelte でルービックキューブを作ってみた
yutoono
1
72
レガシーなフロントエンドを_React___Next.js_にリプレースした結果.pdf
yutoono
0
850
レガシーなフロントエンドを リプレースするプラクティス。 エネチェンジが挑む 「React化」
yutoono
0
190
AWS Codebuild のすすめ
yutoono
0
950
Featured
See All Featured
The Cult of Friendly URLs
andyhume
74
5.7k
Navigating Team Friction
lara
179
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
21
6.4k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
What's in a price? How to price your products and services
michaelherold
238
11k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
25
2k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
KATA
mclloyd
16
12k
The Mythical Team-Month
searls
216
42k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
Transcript
WebAssembly で 世界最速の数独ソルバーを作った話 by Yuto
Yuto の自己紹介 • 1995年生まれ(28歳) • ENECHANGE株式会社 • フロントエンドエンジニア • TypeScript,
React, Next.js • 趣味で Svelte, Solid, Rust, WebAssembly など • Deno 気になる
最近、WebAssembly (Wasm) 流行っていますね • Amazon Prime Videoが動画再生にWebAssemblyを採用 • Figma is
powered by WebAssembly • WebAssembly対応でRubyは何が出来るようになったのか?
僕も WebAssembly 触ってみたい
でも、普通にTutorialやるだけじゃ つまんないな
そうだ、数独を普通のJSとWasmで実装して比 較してみよう
JavaScript (TypeScript) での実装 数独を一瞬で解いてしまうプログラム 平均 6.1ms
Rust + Wasm での実装 数独を一瞬で解いてしまうプログラム(Rust版) 平均 2.2ms!! 圧勝! JSよりも3.9ms速いという結果に
ちなみに せっかくなのでロジック部分をnpmで公開しちゃいましたw https://www.npmjs.com/package/sudoku-solver-ts
まとめ 詳しいことはこちらの記事に書いたので興味のある方は読んでください Rust + WebAssembly で、世界最速の数独ソルバーを作った話 [bitboard] - Qiita WebAssembly
は、今のところ、パフォーマンス最適化の目的で Rust や C++ などの高 速な言語が選ばれているが、今後、好きな言語でフロントエンド開発できるという用途で も使われるようになるかも? Rubyでフロントエンドを書くという時代がやってくるかも!
PR ENECHANGEではエネルギー問題に興味のある エンジニアを絶賛募集しています! ENECHANGE(エネチェンジ) エンジニア採用サイト 社会の動きと連動しながら、サービスを改善し続ける。「エネ チェンジ」の開発にはそんな面白さがある | ENECHANGE 株式会社