
TypeScript7で10倍速度が上がる!
Lambdaで思考停止でPython選んでない?このアプデを機にTypeScriptも視野に入れよう。
こんにちは!GAWSメンバーの石田です。
毎日世界が進歩していて、正直ついていくのがやっとなので、キャッチアップしていきます!
Lambdaを書くとき、特に深く考えずに「まあPythonでいいか」って選んでませんか?私もその一人でした。データ処理といえばPython、サーバーレスといえばPython...そんな固定観念に囚われていた私に、TypeScript 7の衝撃的なアップデートが雷のように落ちました。
結論を先に言います:TypeScript 7は、あなたの開発ライフを変える可能性があります。特にコスト意識の高い現代において、この性能向上は無視できません。
何が起こったのか?MicrosoftがやってくれたTypeScript革命
2025年3月、MicrosoftはTypeScriptコンパイラーをJavaScriptからGoに完全移植すると発表しました。これにより、10倍のパフォーマンス向上を実現しています。
コンパイラーがなぜGoなの?Rustじゃダメだったの?
多くの開発者が疑問に思うポイントですが、Microsoftは構造的類似性を重視してGoを選択しました。GoのプログラミングスタイルがTypeScriptの既存コードベースに最も近く、移植が容易だったからです。つまり、完全な書き直しではなく、効率的な移植が可能だったということ。
実際の数字が凄すぎる
ここで少し技術的な話をしますが、心配しないでください。普段TypeScriptを書いている方なら馴染みのある話です。
tsc(TypeScript Compiler)は、いつものコマンド`npx tsc`で実行しているTypeScriptコンパイラーのことです。そしてtsgoが新しいGo版コンパイラーの名前。
実測値では、従来のtscが0.28秒でコンパイルしたものを、tsgoはなんと0.026秒で完了。つまり10.8倍の高速化です!
さらに驚くべきは型チェック時間。VSCodeでエラーが表示されるまでの時間が、tscの0.10秒に対してtsgoは0.003秒。約30倍の高速化です。
開発でも「あー、またコンパイル待ちかぁ」って経験ありますよね?その待ち時間がほぼゼロになると想像してみてください。
Lambda戦争:開発コスト×効率の真実
さて、ここからが本題です。なぜTypeScript 7がLambda開発者にとって重要なのか?
重要なポイント:TypeScript 7で高速化されるのはコンパイル時間であって、Lambda上での実行時間ではありません。最終的にはJavaScriptにコンパイルされて同じNode.jsランタイムで実行されるためです。
では、なぜLambdaの文脈で重要なのか?それは開発・運用コストの大幅削減にあります。
Lambdaランタイム比較の現実
最新のベンチマーク結果を見てみましょう:
冷起動時間(Cold Start)
- TypeScript/Node.js: 約140ms
- Python: 約260ms
- Go: 約30ms
- Rust: 約50ms
Lambdaランタイム実行速度比較(言語による違い)
言語
|
1GBのJSONログ処理時間
|
冷起動時間
|
備考
|
Go
|
~2秒
|
~30ms
|
コンパイル済みバイナリ
|
Rust
|
~2秒
|
~50ms
|
コンパイル済みバイナリ
|
TypeScript/Node.js
|
~4-6秒
|
~140ms
|
V8エンジンのJIT最適化
|
Python
|
~8-12秒
|
~260ms
|
インタープリター実行
|
*TypeScript 7でもLambda実行時間は従来と同じです
CI/CDコスト削減の具体例
中規模チーム(10個のLambda関数、1日20回デプロイ)の場合:
従来のTypeScript
- ビルド時間:1関数あたり30秒
- 1回のデプロイ:300秒(5分)
- 1日のCI/CD稼働時間:100分
- GitHub Actionsコスト:月約$50
TypeScript 7
- ビルド時間:1関数あたり3秒
- 1回のデプロイ:30秒
- 1日のCI/CD稼働時間:10分
- GitHub Actionsコスト:月約$5
年間削減効果:$540
開発者コスト削減の現実
開発者の時給を$50として計算:
作業内容
|
従来
|
TypeScript 7
|
1日の削減時間
|
年間削減コスト
|
ローカルビルド(10回/日)
|
5分
|
30秒
|
4.5分
|
$975
|
型チェック待ち(50回/日)
|
2.5分
|
5秒
|
2分
|
$433
|
CI/CD待ち(3回/日)
|
15分
|
1.5分
|
13.5分
|
$2,925
|
合計削減
|
-
|
-
|
20分/日
|
$4,333
|
1人の開発者あたりの年間削減効果
Lambda開発でのTypeScript 7の効果
項目
|
改善前
|
改善後
|
削減効果
|
ローカルビルド
|
30秒
|
3秒
|
⚡ 90%削減
|
型チェック
|
3秒
|
0.1秒
|
🔍 97%削減
|
CI/CDビルド
|
5分
|
30秒
|
💰 90%削減
|
デプロイ頻度
|
制限あり
|
気軽にデプロイ
|
🚀 アジリティ向上
|
重要:Lambda実行コストは変わりません(同じJavaScriptランタイム)
メモリ効率も革命的
メモリ使用量も劇的に改善されています。従来のTypeScriptコンパイラー(tsc)が68,645Kのメモリを使用していたのに対し、新しいGo版(tsgo)は23,733K。約2.9倍の効率化です。
開発でも、メモリの少ないマシンで作業していると「VSCodeが重い...」なんて経験ありますよね?この改善で、より快適な開発環境が期待できます。
Lambda言語別総合比較
言語
|
実行速度
|
冷起動
|
開発効率
|
エコシステム
|
Lambda適性
|
Go🥇
|
⭐⭐⭐⭐⭐
|
⭐⭐⭐⭐⭐
|
⭐⭐⭐☆☆
|
⭐⭐⭐☆☆
|
高性能重視
|
TypeScript 🥈
|
⭐⭐⭐⭐☆
|
⭐⭐⭐☆☆
|
⭐⭐⭐⭐⭐
|
⭐⭐⭐⭐⭐
|
開発効率重視
|
Rust 🥉
|
⭐⭐⭐⭐⭐
|
⭐⭐⭐⭐☆
|
⭐⭐☆☆☆
|
⭐⭐☆☆☆
|
上級者向け
|
Python
|
⭐⭐☆☆☆
|
⭐⭐☆☆☆
|
⭐⭐⭐⭐☆
|
⭐⭐⭐⭐⭐
|
安定の選択肢
|
TypeScript 7は実行速度は変わらず、開発効率が大幅向上
実行時間比較(Lambda上での実際の処理速度)
言語
|
1GB JSONログ処理
|
Lambda実行コスト
|
特徴
|
Go
|
~2秒
|
最安
|
コンパイル済み、最高性能
|
Rust
|
~2秒
|
最安
|
コンパイル済み、安全性重視
|
TypeScript/Node.js
|
~4-6秒
|
中程度
|
TypeScript 7でも同じ
|
Python
|
~8-12秒
|
高コスト
|
豊富なライブラリ
|
TypeScript7移行のタイミング
TypeScript7の完全版は2025年末にリリース予定ですが、既にプレビュー版でテストが可能です。
試してみたい方は
npm install @typescript/native-preview
npx tsgo -v # バージョン確認
個人開発者が移行を検討すべきケース
- 1. 大量のLambda関数を運用している
- 2. コスト最適化が重要な課題
- 3. TypeScript/JavaScriptの知見がチーム内にある
- 4. CI/CDパイプラインの高速化が必要
移行が必要ないケース
- 1. 既存のPythonコードベースが安定稼働中
- 2. ML/AI関連のライブラリに強く依存
- 3. チームのTypeScript習熟度が低い
私の個人的な感想
正直言って、「またMicrosoftがすごいことやったな」というのが率直な感想です。TypeScriptを選択することで、Web開発からサーバーレスまで一貫した技術スタックが組めるのは、開発者としてとても魅力的。
特に印象的なのは、Goの並行モデルを活用することで、型チェックがほぼ線形にスケールするようになった点です。これまでの「大きなプロジェクトだとTypeScriptコンパイルが遅い」という課題が根本的に解決されそう。
まとめ:思考停止Python卒業のススメ
TypeScriptがPythonより優れている点
- 実行速度:2倍以上高速(4-6秒 vs 8-12秒)
- 冷起動:約半分の時間(140ms vs 260ms)
- バンドルサイズ:軽量でメモリ効率が良い
- 開発サイクル:ホットリロード、型安全性でバグ減少
- フロントエンド統一:WebとLambdaで同じ言語・スキルセット
「じゃあGoがいいじゃん」という人へのTypeScript反論
確かにGoは速い。でも...
項目
|
TypeScript
|
Go
|
学習コスト
|
既存JS知識活用
|
ゼロから習得
|
開発速度
|
爆速プロトタイピング
|
型定義で時間かかる
|
エコシステム
|
npm 200万パッケージ
|
限定的
|
人材確保
|
JS開発者なら即戦力
|
Go専門家が必要
|
フロントエンド
|
同じ言語で統一
|
別言語が必要
|
JSON操作
|
ネイティブサポート
|
構造体定義必須
|
結論:パフォーマンスで多少劣っても、開発効率とチーム生産性でTypeScriptが圧勝
Lambda関数を書くとき、無思考でPythonを選ぶ時代は終わりかもしれません。TypeScript 7という新たな選択肢が登場した今、言語選択はより戦略的になるべきです。
開発者が今すぐやれること
- 1. プレビュー版を触ってみる(`npm install @typescript/native-preview`)
- 2. 既存プロジェクトのコンパイル時間を測ってみる
- 3. もしLambdaを使ってるなら、料金を確認してみる
- 4. TypeScript 7の情報をウォッチする
技術の進歩は止まりません。私たちも立ち止まらず、新しい可能性を探求し続けましょう。TypeScript 7、本当に楽しみです!
次回は、実際にTypeScript、Go、Rust、PythonでLambda関数を作って、比較検証してみたいと思います。TypeScript 7のプレビュー版も含めて、リアルな数値をお届け予定です!
*この記事は2025年6月時点の情報に基づいています。実際の性能は使用ケースによって異なる場合があります。本格導入前には必ず検証を行ってください。*
【参考】
【TypeScript7】TypeScriptが10倍高速になるぞー
https://qiita.com/rana_kualu/items/8fd975cbada30cb5ed45
A 10x Faster TypeScript
https://devblogs.microsoft.com/typescript/typescript-native-port/
処理速度参考
https://blog.scanner.dev/serverless-speed-rust-vs-go-java-python-in-aws-lambda-functions/