未來,所有 Typescript 項目性能將飆升 15 倍!
前言
大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心!
重磅!TypeScript 宣布用 Go 語言完全重寫,性能飆升 10 倍!
最近,TypeScript 團隊宣布了一個爆炸性消息:他們正在用 Go 語言對 TypeScript 進行完全重寫!測試結果顯示,在某些代碼庫中,性能提升達到了驚人的 10 倍,甚至部分項目提升了 15 倍!
這次性能飛躍將惠及 TypeScript 生態的每一個角落:無論是通過命令行運行 tsc 編譯器,還是在你的 IDE 中查看懸停提示(hovers)和錯誤信息。一旦發布,你將無需改動任何一行代碼,就能無縫升級到這個新版本的 TypeScript。
性能提升是社區多年來呼聲最高的需求。之前也曾有過幾次嘗試,想用更快的語言重寫 TypeScript,但都未能成功。
本周五(太平洋時間上午9點 / 北京時間周六凌晨0點),我將直播采訪 TypeScript 的首席架構師 Anders Hejlsberg,深入探討這次重寫。記得鎖定 YouTube 直播間!
# 這對我有什么影響? 一旦發布,Go 語言重寫的 TypeScript 將全面提升每一位開發者的體驗。我們來具體看看:
# IDE 體驗:快如閃電! 你的 IDE 體驗將變得快上 10 倍!這意味著:
- 加載大型 TypeScript 項目
- 懸停提示 (Hovers)
- 錯誤顯示
- 跳轉到定義 (Go-to-definition)
- 重命名符號 (Rename symbol)
- ...以及所有其他 TypeScript 功能,統統快 10 倍!
這對于大型單體倉庫(monorepos) 尤其意義重大,這些地方 TypeScript 語言服務器的速度慢得讓人抓狂。
受益的遠不止 VSCode(或其分支如 Cursor、Windsurf)。任何使用 TypeScript 語言服務器的代碼編輯器都將享受到這波提速紅利。
# 命令行 (CLI) & 構建:構建加速器 TypeScript 編譯器 (tsc) 也將提速 10 倍。這意味著本地類型檢查更快,項目構建也更快。
這對 CI(持續集成) 更是革命性的!雖然用 esbuild(Go 編寫)和 swc(Rust 編寫)等工具將 TypeScript 文件轉譯成 JavaScript 已經極快,但類型檢查(type-checking) 一直是個瓶頸。
現在,CI 中最慢的環節將大幅提速——讓所有地方的構建都快起來!
# 需要改代碼嗎? 完全不用! 你的代碼原封不動就能運行。
# 什么時候能用上? 官方承諾將在 TypeScript 7.0 中發布。TypeScript 的版本號比較特殊,它不是嚴格遵循語義化版本(SemVer),而是從 1.8、1.9、2.0 這樣遞增上去,大約每 3 個月發布一個新版本。目前最新是 5.8 版——按這個節奏算,7.0 大概還要 33 個月左右(接近 3 年)。
不過,更可能的情況是:準備好了就發。我個人的預感是,2025 年 11 月左右 可能會推出 Beta 測試版。
# 怎么搶先體驗? 可以去看看全新的 typescript-go 代碼倉庫,里面有安裝說明。
# 當前 TypeScript 的開發會暫停嗎? 不會! 在 Go 版本開發的同時,新功能仍會繼續添加到現有的 JavaScript 版本代碼庫中。
TypeScript 團隊的一部分人會全職投入新代碼庫,另一部分人則會繼續維護現有的 JavaScript 版本。
# 為什么選 Go,不是 Rust? TypeScript 團隊在 GitHub 的討論帖中詳細解釋了選擇 Go 的原因。
綜合來看,Go 是最合適的選擇,關鍵原因有幾個。最最核心的一點是:Go 的語言結構與 TypeScript 當前的 JavaScript 實現高度相似。Go 的編程模式與 TypeScript 現有的代碼結構非常接近。
(想象一張 Anders Hejlsberg 演示文稿的截圖:左邊是 Go 代碼,右邊是 TypeScript 代碼,看起來幾乎一模一樣)
圖片
這意味著,熟悉現有代碼庫的貢獻者能夠更容易地上手新代碼庫。這一點至關重要,因為未來一段時間內,兩個代碼庫需要并行維護。
所以——真不是 Rust 不好。只是 Go 更契合這次的需求。
# 為什么不優化現有的 JavaScript 代碼? 要讓 TypeScript 飛起來,你需要一門原生支持多線程的語言。JavaScript 本質上只能在單核上運行。雖然它未來有一些特性(如 Shared Structs)可以實現線程間共享數據,但這些技術尚未成熟可用。
像 Go 和 Rust 這樣的語言,多線程支持是內置的。這意味著它們可以利用多個 CPU 核心,盡可能地將工作并行化。這就是它們能如此之快的關鍵所在!































