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
Email Wallet
konaito
0
11
字幕.ai
konaito
0
22
FYBE-社外CTO事業について-
konaito
0
27
Deepform
konaito
0
6
Cookie.pdf
konaito
0
6
UniChat 企画書:大学ドメインファンド型 LLM プラットフォーム
konaito
0
71
AI時代の新常識 ~ 未来型社外CTOがもたらす経営革新 ~
konaito
0
180
ブラウザは あなたを守りたい~CORS~
konaito
0
91
Next.js最強
konaito
0
430
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Designing Experiences People Love
moore
142
24k
Optimizing for Happiness
mojombo
379
70k
GraphQLとの向き合い方2022年版
quramy
49
14k
A Tale of Four Properties
chriscoyier
160
23k
RailsConf 2023
tenderlove
30
1.2k
Speed Design
sergeychernyshev
32
1.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Invisible Side of Design
smashingmag
301
51k
Visualization
eitanlees
148
16k
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