libevent는 특정 event가 파일지시자(fd, file descriptor) 또는 주어진 시간이 경과되었을때 또는 signal이 발생하였을때 미리 등록한 callback함수를 통하여 이를 처리할수 있도록 구현된 library 입니다.
이는 대용량 network과 기타 I/O를 유연하게 다룰수 있는 환경을 제공하는데 매우 큰 장점이라 할수 있습니다. 하지만 내부적으로 select, epoll, poll, iocp 등을 근간으로 사용하기 때문에 직접 이를 사용하는것보다 빠른 처리를 제공한다고 볼수는 없습니다.
다만 이러한 여러가지 방법을 한가지의 추상적 interface를 제공하여 매우 유연성을 확보해준다는 것에 큰 이점을 가지고 접근할수 있는 것이라고 할수 있겠습니다.
필자는 이 훌륭한 library를 사용하기에만 급급해 하지 말고 내부 구조를 명확히 파악하여 공부할 필요가 있다고 권하고 싶네요.