Ghostty accelera I/O con percorso veloce e SIMD
libghostty has always been fast, but it's also been getting significantly faster. Here are IO throughput measurements comparing Ghostty 1.3.1, 1.4.0, and main as of this morning. We'll be backporting most of these to a 1.4.1 release soon. Here are some highlights of the changes since 1.4: - Ghostty 1.4 had a fast-path for printing runs of plain text. But the fast-path only applied to limited cases. We now support mixed width characters and hyperlinks in the fast path. - Our input path always widened the pty data to codepoints (8-bit to 32-bit) as part of UTF-8 decode, which also incurred a memory copy.
Mitchell Hashimoto mostra throughput tra 1.3.1, 1.4.0 e main e promette il backport in 1.4.1. Il punto tecnico più incisivo è sul pty: la rilevazione SIMD di ASCII puro consente di processare direttamente dal buffer di lettura senza allargare a codepoint, quindi senza la copia e l’espansione a 32 bit. In stampa il percorso veloce copre anche caratteri a larghezze miste e link, e l’allocazione delle pagine si adatta all’uso recente.
Chi genera molto output ottiene latenza più bassa e più stabile sui flussi ASCII perché la pipeline evita una copia costosa. La redazione giudica la direzione giusta e credibile, alla luce della storia tecnica dell’autore. Il rischio sta nei bordi Unicode, che vanno testati su casi reali. Il beneficio netto si vede nelle compilazioni verbose.