누군가 인터뷰에서 물어봤다. 성능 최적화 어떻게 하냐고.

“저는 우선 느리게 만들지를 않구요, 느리면 직감적으로 어디가 느린지 감이 와서, 그냥 고쳐요.”

……….. 인터뷰는 떨어졌다.

뭔가를 하다 보면, 느리다. 속도를 빠르게 해야겠다. 라는 생각이 먼저 든다.

누군가는 bigO로 logN인지 n**2인지 알아내는게 중요하다고 하는데, 자료구조나 알고리즘의 주요 구현방법을 알면, 약간
직감적으로 판단이 된다.

“왜 이래 형들, 이거 다 아는거잖아?”

(내 경우 일지도 모르지만) 코드를 보면 직감적으로 판단이 된다. 루프를 어떻게 썼는지, 어떤 자료형을 썼는지… 아 여기가
느리겠군.

어디가 문제일까? 이게 어떻게 돌아가는가?를 알 수 있으면 9할은 끝났다고 생각한다.

그럼 고친다.