Saturday, February 27, 2010

Someone said IOCP

http://nineye.net/blog/archives/692


오늘 개발자 카페를 기웃거리다가 오랫만에 본 떡밥.


서버 개발자에게 있어서 10년이나 넘는 세월동안 계속 논쟁이 있는 iocp 와 epoll 성능 비교.
뭐가 좋네 뭐가 나쁘네 부터 시작해서 구구절절하게 늘어지는 논쟁들.
저 위 링크에 가면 이 떡밥에 걸린 사람들이 꽤 되는 듯 한데, (댓글에 경만옹도 계심 -0-;;;)
참으로 소모적인 논쟁이 아닐 수 없다.


애초에 iocp 와 똑같은 형태의 구조를 내부적으로 1g 의 차이도 없이 linux 구현한다는 건 불가능하다.
굳이 iocp 와 대적하려 하지 말고, linux 가 가지고 있는 최대한의 자원을 활용해서 좋은 성능의 구조를 만들면 되는 거 아닌가.
위 링크 글을 보면 글쓴이가 일단 MS 에 대한 반감을 가지고 최대한 iocp 를 까려 하고 있는 것을 볼 수 있다.
그러면서 iocp 와 epoll 의 차이를 오직 버퍼 복사 하나로 좁혀가고 있는데, 이는 참으로 편협한 생각이 아닐 수 없다.
물론 포스팅 하나에 모든 내용을 적는 다는 건 무리가 있기 때문에, 단순 비교에 의존한 차이점을 뽑아낸 것이겠지만,
이렇게 iocp 를 평가 절하하려는 이유가 무엇인지 알 수가 없다.
iocp 잘 모르는 사람이 저 글을 처음 읽고 났을 때 '에이 별거 아닌 기술인가 보군' 이라 생각하게 될까봐 두렵다.


이렇게 글을 쓰게 되면 나도 이 오래된 떡밥에 다시 한번 낚이게 되는 거 같아서 안 쓰려고 했는데,
그래도 내 홈에 다녀가는 분들에게는 최대한 중립적인 정보를 전달해 주고 싶은 마음 때문에 글을 적은 거임.




세줄 요약 :


iocp 고 epoll 이고 나발이건 간에 플랫폼이 정해지면 거기서 끌어낼 수 있는 최대한의 성능을 끌어내면 되는 거다.
다른 플랫폼에서 뭐가 좋네 뭐가 나쁘네 논쟁은 정말로 소모적이다.
단지 자기가 싫어한다고 그것을 평가 절하해선 안되는 거임.

No comments:

Post a Comment