WebAssembly で 世界最速の数独ソルバーを作った話
by
Yuto Ono
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
WebAssembly で 世界最速の数独ソルバーを作った話 by Yuto
Slide 2
Slide 2 text
Yuto の自己紹介 ● 1995年生まれ(28歳) ● ENECHANGE株式会社 ● フロントエンドエンジニア ● TypeScript, React, Next.js ● 趣味で Svelte, Solid, Rust, WebAssembly など ● Deno 気になる
Slide 3
Slide 3 text
最近、WebAssembly (Wasm) 流行っていますね ● Amazon Prime Videoが動画再生にWebAssemblyを採用 ● Figma is powered by WebAssembly ● WebAssembly対応でRubyは何が出来るようになったのか?
Slide 4
Slide 4 text
僕も WebAssembly 触ってみたい
Slide 5
Slide 5 text
でも、普通にTutorialやるだけじゃ つまんないな
Slide 6
Slide 6 text
そうだ、数独を普通のJSとWasmで実装して比 較してみよう
Slide 7
Slide 7 text
JavaScript (TypeScript) での実装 数独を一瞬で解いてしまうプログラム 平均 6.1ms
Slide 8
Slide 8 text
Rust + Wasm での実装 数独を一瞬で解いてしまうプログラム(Rust版) 平均 2.2ms!! 圧勝! JSよりも3.9ms速いという結果に
Slide 9
Slide 9 text
ちなみに せっかくなのでロジック部分をnpmで公開しちゃいましたw https://www.npmjs.com/package/sudoku-solver-ts
Slide 10
Slide 10 text
まとめ 詳しいことはこちらの記事に書いたので興味のある方は読んでください Rust + WebAssembly で、世界最速の数独ソルバーを作った話 [bitboard] - Qiita WebAssembly は、今のところ、パフォーマンス最適化の目的で Rust や C++ などの高 速な言語が選ばれているが、今後、好きな言語でフロントエンド開発できるという用途で も使われるようになるかも? Rubyでフロントエンドを書くという時代がやってくるかも!
Slide 11
Slide 11 text
PR ENECHANGEではエネルギー問題に興味のある エンジニアを絶賛募集しています! ENECHANGE(エネチェンジ) エンジニア採用サイト 社会の動きと連動しながら、サービスを改善し続ける。「エネ チェンジ」の開発にはそんな面白さがある | ENECHANGE 株式会社