正式發布!TypeScript 提升了 10 倍的性能
前言
大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心~~
微軟官方開發者博客近日發布文章,宣布將大幅提升 TypeScript 的性能。
圖片
性能提升幅度有多大?
我們的原生實現已經能夠加載許多流行的TypeScript項目,包括 TypeScript 編譯器本身(https://github.com/microsoft/TypeScript/tree/main/src/compiler)。
以下是 GitHub 上幾個不同規模代碼庫運行tsc的耗時對比:
圖片
微軟官宣
根據博客內容,TypeScript 的核心目標是為開發者提供卓越的體驗。然而,隨著項目代碼庫的不斷增長,TypeScript 在大規模項目中的表現尚未完全優化,開發者往往會遇到加載時間過長和檢查時間過長的問題,這使得開發者必須在合理啟動編輯器和查看完整源代碼之間做出選擇。
為了解決這個問題,微軟正在進行 TypeScript 編譯器和工具的本地化移植,這一舉措預計將顯著提升編輯器啟動速度,縮短大多數構建時間達 10 倍,并大幅降低內存使用量。
圖片
通過移植當前的代碼庫,微軟預計將在 2025 年中期發布支持命令行類型檢查的本地化版本 tsc,年底前將推出包含項目構建和語言服務的完整解決方案。
微軟還表示,開發者可以從新的工作倉庫構建和運行 Go 代碼,且其許可證與現有的 TypeScript 代碼庫一致。微軟的測試表明,本地化版本已經能夠加載多個流行的 TypeScript 項目,包括 TypeScript 編譯器本身。以下是在 GitHub 上一些常見代碼庫中運行 tsc 的測試結果:
由于大多數開發者的時間都花費在代碼編輯器上,因此提升編輯器性能至關重要。微軟的目標是讓編輯器能夠快速加載大型項目,并在各類場景中都能提供快速響應。通過本地化實現,編輯器加載速度顯著提升。例如,使用 Visual Studio Code 代碼庫的基準測試,在一臺快速的計算機上,當前加載整個項目需要大約 9.6 秒;而在本地語言服務的幫助下,這一時間縮短至 1.2 秒,項目加載速度提高了 8 倍。這意味著,用戶從打開編輯器到開始編輯 TypeScript 代碼的體驗將更為流暢。微軟預計所有項目都將受益于這一改進。
在內存使用方面,優化后的 TypeScript 版本的內存消耗約為當前實現的一半,且微軟預計將進一步優化內存使用。所有語言服務操作(如完成列表、快速信息、轉到定義和查找所有引用)的響應速度也將大幅提升。此外,微軟將繼續朝著語言服務器協議(LSP)推進,這是一個長期計劃,旨在使微軟的實現與其他語言標準更好地對接。
IT之家從微軟博客獲悉,最新的 TypeScript 版本為 5.8,5.9 版本即將發布。基于 JavaScript 的代碼庫將繼續開發至 6.x 系列,而 TypeScript 6.0 將進行一些棄用和破壞性變更,以支持即將到來的原生代碼庫。
圖片
當原生代碼庫與當前 TypeScript 達到足夠兼容時,微軟計劃發布 TypeScript 7.0。為清晰起見,微軟將把它們分別稱為 TypeScript 6(JS 版本)和 TypeScript 7(原生版本),并在未來一段時間內采用這種命名方式。