Network servers often need to process a large amount of network events asynchronously. They usually use select() or poll() to retrieve events from file descriptors. However, previous researches have shown that these system calls scale poorly when the number of open connections is significantly increased. Several kernel-level solutions have been proposed. In the paper, the authors first compare several event-dispatching mechanisms available under Linux, and then present their user-level solution, which takes advantage of temporal locality among events while polling. They show that a memory-based Web server with their approach can have about 20-30% performance improvement.