C# yield의 숨겨진 비용, 컴파일러가 알려주지 않는 것들
대부분의 C# 개발자는 yield return을 쓸 줄은 알지만, 그 뒤에서 실제로 무슨 일이 벌어지는지는 잘 모른다는 문제의식에서 출발한 글입니다. yield return을 사용하면 컴파일러가 내부적으로 상태 머신(state machine)을 자동 생성해주는데, 이 과정에서 예상치 못한 성능 비용이 발생할 수 있다는 내용을 다룹니다. 반복문이나 컬렉션 처리에서 습관적으로 yield를 쓰던 개발자라면 한 번쯤 짚어볼 만한 주제예요. 간단해 보이는 문법 뒤에 숨은 컴파일러의 동작 방식을 이해하면 더 나은 성능 판단을 내릴 수 있습니다.