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
Why go?
Search
konaito | FYBE
March 12, 2025
0
5
Why go?
konaito | FYBE
March 12, 2025
Tweet
Share
More Decks by konaito | FYBE
See All by konaito | FYBE
AmiCap
konaito
0
1
Atoms_Life_Consciousness
konaito
0
49
The_Silent_Detachment
konaito
0
22
AI_Vivarium_Inside_Moltbook
konaito
0
66
OpenClaw_Power_Risk_and_the_Autonomous_Dawn
konaito
0
60
Skin_in_the_Game
konaito
0
40
AI Voice Desktop Companion
konaito
0
4
龍鎖のオリ ―心の中の“こころ”―
konaito
0
8
The_Procrustean_Bed_Aphorisms_for_the_Nonsucker
konaito
0
8
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Ethics towards AI in product and experience design
skipperchong
2
190
Crafting Experiences
bethany
1
48
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
410
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
Being A Developer After 40
akosma
91
590k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
Why Go? TypeScriptコンパイラ × Go 1
概要 プロジェクトの狙い TypeScriptコンパイラをGoで実装することで、ビルド速度の大幅な 高速化とメモリ消費の削減を実現する。 背景 従来のTypeScriptコンパイラはNode.js上で動作し、シングルスレッ ドのため性能に限界があった。 新たな実装では、Goの特徴を活かして大規模プロジェクトにも対応 可能な効率性を追求。 2
TypeScriptとGoの違い TypeScript(従来の実装) JavaScriptベースで実行環境はNode.js シングルスレッド実行のため並列処理が難しい Go(新実装) コンパイルされたネイティブバイナリとして動作 ゴルーチンを利用した高度な並行処理が可能 単一の実行ファイルにまとめることで配布が容易 3
なぜGoを選んだのか?(Why Go?)(1/2) 圧倒的な性能向上 ネイティブコードとして動作するため、従来の実装に比べて最大10倍 の高速化が期待できる。 効率的なメモリ管理 Goのガベージコレクションによる効率的なメモリ管理で、ビルド時 のメモリ消費を大幅に削減。 4
なぜGoを選んだのか?(Why Go?)(2/2) 開発効率と移植性 Goはシンプルな構文と優れたクロスコンパイル機能により、開発速 度が向上。 TypeScriptコンパイラの構造を保ちつつ、既存のコードベースとの互 換性を維持。 並行処理の強み ゴルーチンによる並列処理で、型チェックなどの重い処理を効率的に 分散実行。
5
期待される成果とメリット(1/2) ビルド時間の劇的短縮 巨大プロジェクトでのビルド待ち時間を大幅に削減し、開発効率を向 上。 エディタとの連携強化 リアルタイムでのエラー検出やリファクタリングが迅速に行えるよう に。 6
期待される成果とメリット(2/2) CI/CDやクラウド環境への最適化 メモリ消費の低減により、クラウド環境でのリソース効率が向上。 今後の発展可能性 新機能やAI支援ツールとの連携により、さらなる開発エクスペリエン スの革新が期待される。 7
まとめ & 今後の展望(1/2) 結論 TypeScriptコンパイラのGoへの移行は、性能とスケーラビリティの 大幅向上を実現するための戦略的な選択。 「Why Go?」の答えは、開発効率、並行処理、移植性、そして単一バ イナリの利便性に集約される。 8
まとめ & 今後の展望(2/2) 今後の展望 2025年末を目途に、新コンパイラ(TypeScript 7.0)の完成を計画 中。 従来の6.x系と並行して進化し、今後10年にわたりTypeScriptの強固 な基盤を築く。 9