고도로 타겟팅된 성능 작업을 하는 걸 좋아합니다. 지난 며칠 동안 Ghostty에서 렌더 스레드가 터미널 데이터를 읽는 방식(IO를 차단하는 잠금이 필요함)을 변경하는 작업을 해왔습니다. 지금까지 잠금 유지 시간을 2.4배 단축했습니다. PR하기에는 아직 이르지만, 거의 다 됐습니다! 이는 터미널 텍스트와 이스케이프 시퀀스의 처리량에 직접적인 영향을 미칩니다. 부하가 큰 경우(예: `cat massive-file.txt`) 렌더러 잠금이 프로파일링에 상당히 크게 나타나 현재 출시된 빌드의 중요 영역이 ~8ms당 약 20~40마이크로초(8000마이크로초, 120Hz 프레임 속도)에 불과함에도 불구하고 총 시간의 10% 이상을 차지합니다. 생각해보면 좀 미친 짓이죠. 컴퓨터는 정말 빠르잖아요.
이전 화면 복제본은 최대한 최적화되어 있었습니다. 이틀 동안 개선 작업을 했지만 겨우 5% 정도만 개선되었습니다. 240%까지 개선하려면 완전히 다른 방식으로 다시 작성해야 했습니다. 큰 아이디어에는 한계가 있습니다. 때로는 새롭고 큰 아이디어가 필요합니다.
