IOCP가 커널 버퍼 복사를 생략하나요?
글쓴이: windowsprogrammer / 작성시간: 토, 2011/05/07 - 11:16오전
국내 블로그 글들을 읽어보면 IOCP가 커널 버퍼를 사용하지 않고 사용자 버퍼에 바로 데이터를 복사해서 빠르다 라는 이야기들을 볼 수 있습니다.
아래 KLDP 쓰레드에서도 그런 내용이 있구요. 찾아보면 다른 글들에도 많이 있습니다.
http://kldp.org/node/96355
저는 IOCP를 사용하면 사용자 버퍼를 바로 사용한다고 생각하는 부분이 너무 이상하게 느껴지는데, 아래 쓰레드에 댓글을 다신 분들께서는
그런 이야기를 아무도 안하셔서 더 이상하네요. 제가 잘 모르고 있는 것인지.
컴플리션 포트에 관련된 여러 좋은 책들(Jeffrey richter, Mark russinovich, Anthony Jones)과 문서들을 읽어봤지만 거기서는
IOCP가 빠른 이유를 설명할 때 버퍼 복사의 생략에 대해 언급한 곳이 한군데도 없었습니다.
저는 버퍼 복사 방식과 IOCP는 전혀 별개의 문제라고 생각하고 있는데, 제가 틀린건지 참 궁금합니다.
누가 좀 설명해주세요!
Forums:
아마도 IOCP를 주로 사용하는 경우가 네트워크에서
아마도 IOCP를 주로 사용하는 경우가 네트워크에서 비동기 소켓을 써서 빠른 서버를 만드는게 대부분이라 그런 고정관념이 생겼나봐요.
알고 있는대로 전혀 별개인게 맞아요.
댓글 달기