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
3
Why go?
konaito | FYBE
March 12, 2025
Tweet
Share
More Decks by konaito | FYBE
See All by konaito | FYBE
FYBE-社外CTO事業について-
konaito
0
19
Deepform
konaito
0
6
Cookie.pdf
konaito
0
4
UniChat 企画書:大学ドメインファンド型 LLM プラットフォーム
konaito
0
66
AI時代の新常識 ~ 未来型社外CTOがもたらす経営革新 ~
konaito
0
150
ブラウザは あなたを守りたい~CORS~
konaito
0
82
Next.js最強
konaito
0
430
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Thoughts on Productivity
jonyablonski
69
4.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
A better future with KSS
kneath
239
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
How to Ace a Technical Interview
jacobian
277
23k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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