Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rust LT #3 dalance
Search
dalance
March 25, 2019
Programming
1
980
Rust LT #3 dalance
dalance
March 25, 2019
Tweet
Share
More Decks by dalance
See All by dalance
RTL talk #18 dalance
dalance
0
340
OSS Silicon EDA #1
dalance
0
240
Make CPU #3 dalance
dalance
1
800
RTL talk #17 dalance
dalance
0
790
ArkEdge LT #1 dalance
dalance
3
660
Shinjuku.rs #8 dalance
dalance
2
810
RTL talk #16 dalance
dalance
1
1k
Other Decks in Programming
See All in Programming
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
290
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
700
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
590
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
320
俺流レスポンシブコーディング 2025
tak_dcxi
14
8.5k
CSC305 Lecture 17
javiergs
PRO
0
340
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
2
650
How Software Deployment tools have changed in the past 20 years
geshan
0
28k
AIコーディングエージェント(Manus)
kondai24
0
160
tparseでgo testの出力を見やすくする
utgwkk
1
180
Microservices rules: What good looks like
cer
PRO
0
1.1k
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Typedesign – Prime Four
hannesfritz
42
2.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
720
Navigating Team Friction
lara
191
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Rails Girls Zürich Keynote
gr2m
95
14k
Become a Pro
speakerdeck
PRO
31
5.7k
Transcript
RustとLSI開発 dalance
LSIの設計とは • ソフトウェアの場合 ◦ ソースコードを書く ◦ コンパイル ◦ 実行 •
LSI の場合 ◦ ソースコードを書く(例えば SystemVerilog などで) ◦ コンパイル(的な何か) ◦ 製造
LSIの設計とは • ソフトウェアの場合 ◦ ソースコードを書く ◦ コンパイル ◦ 実行 •
LSI の場合 ◦ ソースコードを書く(例えば SystemVerilog などで) ◦ コンパイル(的な何か) ◦ 製造 よく似ているので、同じような開発 手法やツールが使える。 CI とか git とか。
ソフトと違うところ • ソフトウェアの場合 ◦ ソースコードを書く ◦ コンパイル ◦ 実行 •
LSI の場合 ◦ ソースコードを書く(例えば SystemVerilog などで) ◦ コンパイル(的な何か) ◦ 製造 ここの規模感はだいぶ違う。 コンパイル 1 回に数日~数週間 中間ファイルが数 GB ~数百 GB
ソフトと違うところ • ソフトウェアの場合 ◦ ソースコードを書く ◦ コンパイル ◦ 実行 •
LSI の場合 ◦ ソースコードを書く(例えば SystemVerilog などで) ◦ コンパイル(的な何か) ◦ 製造 ここの規模感はだいぶ違う。 コンパイル 1 回に数日~数週間 中間ファイルが数 GB ~数百 GB 大きなファイルを素早く扱うための サポートツールをRustで書いてます
作ったもの(1) • amber ◦ いわゆる grep alternative ◦ 大きなファイルを分割してマルチスレッドで検索する ▪
ここだけなら ripgrep にも勝っている(普通の検索は ripgrep ものすごく速いです) • ptags ◦ ctags ( vim 用の tag 生成プログラム)のラッパー ▪ LSI 開発時のリポジトリは 1TB 近くになるので、 ctags を普通に実行すると終わらない ◦ .gitignore と git-lfs を除外して、マルチスレッドで並列実行できる
作ったもの(2) • pipecolor ◦ 標準出力をパイプで受け取って色付けするツール ▪ 正規表現でマッチさせて好きな色を付けられる ◦ LSI 系のツールは
cargo/rustc のように色がつかなくて分かりにくいので • procs ◦ プロセス情報表示ツール( ps alternative ) ▪ 標準でカラー表示できて、簡単に絞り込める ◦ LSI 系のツールは貴重な!ライセンスをつかんだまま死んでしまうことがある
まとめ • LSI 開発で(無理やり?) Rust 使ってます • Rust の良いところ ◦
開発速度が速い: cargo/crates.io のおかげで ◦ 実行速度が速い:データが大きくても困らない ◦ エラーハンドリング:予想外の例外で落ちたりしない