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
Rust LT #3 dalance
Search
dalance
March 25, 2019
Programming
1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rust LT #3 dalance
dalance
March 25, 2019
More Decks by dalance
See All by dalance
RTL talk #18 dalance
dalance
0
420
OSS Silicon EDA #1
dalance
0
270
Make CPU #3 dalance
dalance
1
880
RTL talk #17 dalance
dalance
0
850
ArkEdge LT #1 dalance
dalance
3
680
Shinjuku.rs #8 dalance
dalance
2
850
RTL talk #16 dalance
dalance
1
1.1k
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
630
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
180
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
230
Oxcを導入して開発体験が向上した話
yug1224
4
370
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
210
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
570
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
780
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
170
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.6k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
430
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
1k
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
107
250k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
The SEO Collaboration Effect
kristinabergwall1
1
500
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
Designing Powerful Visuals for Engaging Learning
tmiket
1
430
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
GitHub's CSS Performance
jonrohan
1033
470k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
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 のおかげで ◦ 実行速度が速い:データが大きくても困らない ◦ エラーハンドリング:予想外の例外で落ちたりしない