ターゲットを絞ったパフォーマンス向上のための作業が大好きです。ここ数日、Ghosttyのレンダリングスレッドが端末データを読み取る方法(IOをブロックするロックが必要)を変更する作業に取り組んできました。ロック保持時間は2.4分の1に短縮できました。PRはまだ早いですが、もうすぐ達成です! これは、負荷が高い場合 (例: `cat massive-file.txt`)、レンダラー ロックがプロファイリングでかなり顕著に現れ、現在リリースされているビルドの重要な領域が約 8 ミリ秒 (8000 マイクロ秒、120 Hz のフレーム レート) あたりわずか 20 ~ 40 マイクロ秒であるにもかかわらず、合計時間の 10% 以上を占めるため、ターミナル テキストとエスケープ シーケンスのスループットに直接影響します。 考えてみれば、それはちょっとおかしいですね。コンピューターは本当に速いですから。
以前のスクリーンクローンは、その機能に対して可能な限り最適化されていました。2日間かけて改良しましたが、改善率はわずか5%でした。240%にするには、全く異なるアプローチで完全に書き直す必要がありました。大きなアイデアにも限界があります。時には、新たな大きなアイデアが必要になることもあります。
