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
字幕.ai
konaito
0
7
FYBE-社外CTO事業について-
konaito
0
19
Deepform
konaito
0
6
Cookie.pdf
konaito
0
4
UniChat 企画書:大学ドメインファンド型 LLM プラットフォーム
konaito
0
67
AI時代の新常識 ~ 未来型社外CTOがもたらす経営革新 ~
konaito
0
160
ブラウザは あなたを守りたい~CORS~
konaito
0
82
Next.js最強
konaito
0
430
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How STYLIGHT went responsive
nonsquared
100
5.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
A better future with KSS
kneath
238
17k
Building Adaptive Systems
keathley
43
2.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
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