Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
Submit Search
Submit Search
Upload
Rust と Wasmの現実
•
0 likes
•
226 views
ShogoTagami1
Follow
株式会社アトラエにて定期的に開催されているLT大会で発表したRustとWasmの基礎に関する資料です。
Read less
Read more
Report
Share
Report
Share
1 of 12
Download now
Download to read offline
More Related Content
Rust と Wasmの現実
1.
RustとWasmの現実 株式会社アトラエ タガミショウゴ
2.
Rust, Wasmって最近巷でよく聞きませんか? - “Rustが流行っているらしい” -
“Rustは早いらしい” - “WebAssemblyってのがJavaScriptの代わりになるらしい” でも、実際のところどうなのか?またそれぞれどういったものなのか?を完全に理解して いる方は少ない印象(かくいう僕もよく分かっていませんでした)。 なので、ざっと理解できるレベルまで今日はお話ししていきます。
3.
RustとWasmの現実
4.
Rustとは - FirefoxのMozilla社が開発元 - 特徴: -
(1) 実行速度が速い(C, C++と同じくらい) - (2) 低レイヤーのプログラムから、Webまで幅広くカバーできる - (3) 「安全性」が担保されている - (4) ツール群が充実している
5.
Rustは速いの図 https://benchmarksgame-team.pages.debian.net/benchmarksgame/which-programs-are-fastest.html
6.
Rustはなぜ早いのか? - JavaやPythonなどの言語はインタプリタやコンパイラを介して、独自の仮想マシン 用の言語を生成するので、ちょっと時間がかかります(それでも早い - 一方、C,
C++, Rustはコンパイル後の最終結果は直接機械語になります - また、仮想マシンを持たないGoよりも早いのは、Rustにはガベージコレクション(GC) がないという理由からです - GCとは使う予定のないメモリ領域(ガベージ)を解放し、使えるメモリ領域を増やす、 という処理をしてくれるやつです - Rustは手動でメモリ管理をするのではなく、「所有権」「借用」「ライフタイム」という新 しい仕組みでこれを回避
7.
ちなみに、Rustのコードはこんな感じ https://news.mynavi.jp/article/rust-13/
8.
Rustのプロダクション使用例 - Firefoxのブラウザエンジンのコア部分(ここが起源) - Dropboxではデータセンター効率化のためのストレージシステム -
yelpのリアルタイムA/Bテストフレームワーク - FastlyのWebAssembly実行環境を提供するLucet - AWS Lambdaの仮想化システム - Cookpadのマイクロサービスの一部分 - サイバーエージェントの広告配信サーバー
9.
RustとWasmの現実
10.
WebAssemblyとは - WebAssembly(略してWasm)はブラウザで動く新しいプログラミング言語(フォーマッ ト?) - ネイティブコードに変換しやすく、バイナリ列で表現されており、早い https://ja.wikipedia.org/wiki/WebAssembly
11.
WebAssemblyのユースケース - 前提:JavaScriptを全く置き換えるというものではない(現状は) - 例えば、処理速度が求められる部分やC/C++からの移管先 -
C/C++で書かれたアプリゲームを、Webゲームに移管する時の方法 - 画像、動画編集、画像認識などのアプリケーションをWeb上で実行する - 現状、WasmはDOMを直接触れない関係で、JavaScriptといい感じに共存している - イメージとしては、基本的にはJavaScriptで書き、処理速度が求められる部分を WebAssemblyで書くみたいなのが良さそう
12.
まとめ - RustやWebAssemblyはこれから2,3年で使用例が増えてくると思うけど、すぐすぐ 「アトラエでも使うぜ!」という段階ではない! - 有りうるとすると、DSチームやインフラ周りで計算機構の高速化あたりをPythonか らRustにする、とか -
いずれにせよ、新しいプログラミング言語を学ぶのは楽しい!
Download now