我喜欢做针对性强的性能优化工作。过去几天我一直在改进 Ghostty 中渲染线程读取终端数据的方式(这需要占用一个会阻塞 I/O 的锁)。目前锁持有时间已经缩短了 2.4 倍。现在提交 PR 还为时过早,但已经很接近了! 这将直接影响终端文本和转义序列的吞吐量,因为在高负载下(例如 `cat massive-file.txt`),渲染器锁在性能分析中表现得相当明显,占用了总时间的 10% 以上,尽管我们当前发布版本中的关键区域每 ~8ms(8000 微秒,120Hz 帧率)只有大约 20 到 40 微秒。 仔细想想,这其实有点不可思议。电脑速度真的很快。
之前的屏幕克隆版本已经针对其功能进行了最大程度的优化。我花了整整两天时间对其进行改进,却只提升了 5%。为了达到 240% 的提升,我不得不完全重写,采用不同的方法。伟大的想法也有其局限性。有时,你需要一个新的伟大想法。
