程式列印的每一個字元,都要先被 Term 讀進來,才能畫到螢幕上。在 26.8.3 裡,這一步最多快了五倍,已經和最快的那幾款終端機站在一起。
v26.8.3+ · 撰寫於
伺服器送來的每個字元 —— 編譯日誌的一行、一次顏色切換、一個中文詞、全螢幕程式的一次重繪 —— 都要先被讀進來、放到 Term 的螢幕上,然後才能畫出來。這次提速的就是這一步。畫螢幕本來就快,這次快的是畫之前的那部分工作。
輸出一下子湧進來的時候,你會感覺得到:
cat 一個很大的日誌,或者一次列印上千行的編譯htop、btop、捲動中的 vimls --color、編譯錯誤、git log --graph在 Wi-Fi 或流動數據下,連線本身通常比下面任何一個數字都慢。這時變化在於:每一屏內容佔用手機的時間少了,留給其他事情的就多了。
Term 圍繞的,是如今人們在手機終端機裡做得最多的事:透過 SSH 或 mosh,在伺服器上執行編程智能體 —— Claude Code、Codex、opencode 等等。速度是其中一部分,但只是一部分。智能體每秒只輸出幾千個字元,遠低於任何一款現代終端機的讀取能力。一次工作階段用起來順不順,取決於速度之外的這些:
這次的提速,是為智能體一下子倒出大量內容的時刻留出餘量 —— 一段很長的 diff、一次測試、一份編譯日誌 —— 讓手機花在上面的時間更少。
每一行是 8 MB 的同一類輸出,送進各個終端機自己的引擎,螢幕都是 80 欄。單位是每秒百萬位元組,越高越好。
| 輸出類型 | Term 26.8.2 | Term 26.8.3 | Ghostty | Alacritty |
|---|---|---|---|---|
| 純文字捲動 | 65 | 326 | 555 | 165 |
| 大量顏色 | 90 | 154 | 122 | 156 |
| 中文、表情符號、帶重音的字母 | 77 | 137 | 197 | 129 |
| 全螢幕程式重繪 | 69 | 310 | 306 | 166 |
| 典型的命令列工作階段 | 84 | 251 | 292 | 194 |
在一部 Apple M1 Pro 的 Mac 上測得,每個引擎都按最快的方式建置,取五次中最好的一次。手機的處理器比它慢,所以手機上的數字會較低。
五行裡有三行 Ghostty 仍然最快,純文字上領先最多。Term 現在在全螢幕程式重繪上是三者中最快的;顏色上超越了 Ghostty、與 Alacritty 持平;其餘四行都超越了 Alacritty。智能體的輸出,大部分正是顏色和重繪。
螢幕顯示和以前完全一樣。發佈前,我們把同樣的輸出同時餵給新舊兩版 Term —— 數千輪的文字、表情符號、顏色、換行和全螢幕程式 —— 逐一核對:每個字元的位置、顏色,每一次都完全一致。
Term 26.8.3 起可用,不需要任何設定。