윈도우 작업 표시줄에는 시계가 있습니다. 그리고 이 시계는 초를 표시하지 않습니다. 하지만 처음 윈도우를 만들었을 때는 초를 표시했다고 하네요. 나중에 제거했지만요.
왜 그랬을까요? 이 초 표시를 계속해서 업데이트하는 게 성능에 영향을 줬다고 합니다. 1초마다 시계를 리프레시하면서 텍스트를 렌더링해야 하고 관련 코드가 메모리를 차지했습니다.
이 기능이 처음 도입됐던 윈도우 95의 경우 최소 4MB의 메모리가 필요했는데, 시계의 초를 표시하기 위해선 4KB의 메모리를 소모했습니다. 이게 성능에 미치는 영향이 적지 않았다네요.
여기까지는 2003년 10월의 이야기였습니다.
https://devblogs.microsoft.com/oldnewthing/20031010-00/?p=42203
그리고 2022년 4월이 된 지금. 시스템 메모리는 몇 GB 단위로 늘어났습니다. 그럼 이제는 초를 표시해도 되지 않을까요? 여전히 성능 때문에 안 된다고 설명합니다.
https://devblogs.microsoft.com/oldnewthing/20220411-00/?p=106456
터미널 서버 같은 다중 사용자 접속 시스템은 1초마다 작업 표시줄의 시계를 다 함께 업데이트하는 게 아니라, 사용자마다 제각각 따로 업데이트하는 시계를 표시해야 합니다. 따라서 1초에 한번식 몇 백개의 스택이 페이징되면서 시계를 갱신해야 합니다. 심지어 1분마다 한 번씩 업데이트하는 것조차 다중 사용자 시스템에서는 큰 부담이기에 터미널 서버 관리자는 시계를 끄기도 합니다.
그렇다면 혼자서 쓰는 개인 시스템에서는요? 이것 역시 성능에 영향을 준다고 합니다. 주기적으로 시계를 리프레시하면서 CPU가 아이들 상태로 진입하는 걸 막기 때문에 성능과 절전 기능들을 대대적으로 손봐야 합니다. 그리고 지금 상황에서 굳이 시계에 초를 표시할 필요까지는 없어 보입니다.