wardite 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Steepfile +1 -0
- data/examples/grayscale.rb +64 -0
- data/exe/wardite +11 -5
- data/lib/wardite/instruction.rb +10 -9
- data/lib/wardite/load.rb +20 -10
- data/lib/wardite/revisitor.rb +92 -0
- data/lib/wardite/value.rb +6 -22
- data/lib/wardite/version.rb +1 -1
- data/lib/wardite/wasi/consts.rb +129 -0
- data/lib/wardite/wasi.rb +268 -7
- data/lib/wardite/wasm_module.rb +53 -0
- data/lib/wardite.rb +74 -105
- data/misc/proposals/rubykaigi2025.md +46 -0
- data/misc/slides/fib.c +4 -0
- data/misc/slides/fib.html +13 -0
- data/misc/slides/image-1.png +0 -0
- data/misc/slides/image-2.png +0 -0
- data/misc/slides/image.png +0 -0
- data/misc/slides/tokyo12.html +614 -0
- data/misc/slides/tokyo12.md +624 -0
- data/sig/fcntl.rbs +7 -0
- data/sig/generated/wardite/instruction.rbs +2 -0
- data/sig/generated/wardite/load.rbs +2 -3
- data/sig/generated/wardite/revisitor.rbs +25 -0
- data/sig/generated/wardite/value.rbs +3 -10
- data/sig/generated/wardite/wasi/consts.rbs +137 -0
- data/sig/generated/wardite/wasi.rbs +62 -5
- data/sig/generated/wardite/wasm_module.rbs +42 -0
- data/sig/generated/wardite.rbs +24 -19
- metadata +18 -3
- data/examples/add.wasm +0 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
# RubyKaigi 2025 Proposal
|
2
|
+
|
3
|
+
## title:
|
4
|
+
|
5
|
+
Implementing WASM Runtime in Ruby - ruby.wasm works on Ruby?
|
6
|
+
|
7
|
+
## Abstract
|
8
|
+
|
9
|
+
<!--
|
10
|
+
|
11
|
+
Create an abstract of talk in English, following below:
|
12
|
+
|
13
|
+
- 作者はWarditeというRubyのWASMランタイムを開発した
|
14
|
+
- WarditeはPure Rubyで、RBSに完全対応している
|
15
|
+
- Warditeでruby.wasmを動かすことをマイルストーンにしており、その取り組みについて報告する。
|
16
|
+
- 例えば、WASI preview 1 対応、パフォーマンス改善など。
|
17
|
+
|
18
|
+
-->
|
19
|
+
|
20
|
+
The author has developed a WASM runtime named Wardite, which is implemented entirely in pure Ruby and fully annotated by RBS. The primary milestone for Wardite is to successfully run ruby.wasm. This presentation will dive deeply into the various efforts and challenges encountered in reaching this milestone. Key topics will include the implementation of support for WASI preview 1, performance enhancements, and other technical advancements. Attendees will gain insights into the current status of Wardite, its architecture, and the approaches taken to eficciently implement WebAssembly runtime in Ruby. The talk aims to provide a comprehensive overview of the progress made so far and the future directions for Wardite, highlighting its potential impact on the Ruby and WebAssembly ecosystems.
|
21
|
+
|
22
|
+
## Details
|
23
|
+
|
24
|
+
現在、以下のような内容を考えています
|
25
|
+
|
26
|
+
- なぜ、Warditeを作ったか?
|
27
|
+
- Pure Rubyであることのメリット
|
28
|
+
- cf. wazero in Go
|
29
|
+
- 簡単なWarditeの紹介
|
30
|
+
- 動作のデモ
|
31
|
+
- Warditeの実装
|
32
|
+
- WASM Core 1.0を動かすために必要な仕様の解説
|
33
|
+
- 簡単な内部設計
|
34
|
+
- 命令の概要
|
35
|
+
- RBSによる型情報の利用
|
36
|
+
- Wardite開発上の技術的チャレンジ
|
37
|
+
- パフォーマンス改善の取り組み
|
38
|
+
- 基本的な計測(ruby-prof、perf)
|
39
|
+
- オブジェクト生成の低減・最適化
|
40
|
+
- Warditeでruby.wasmを動かすための取り組み
|
41
|
+
- WASI preview 1 対応
|
42
|
+
- 今後の展望
|
43
|
+
- 更なるパフォーマンス改善
|
44
|
+
- Component 対応
|
45
|
+
|
46
|
+
## Pitch
|
data/misc/slides/fib.c
ADDED
Binary file
|
Binary file
|
Binary file
|