The kqueue system provides a more robust and less compute-intensive way to monitor system and file events. Instead of slinging huge arrays as needed with select(2), kevent(2) takes a list of KEvents to monitor, and keeps watching them until they're explicitly deleted -- no need to keep passing in the same objects over and over again. This methodology promotes the construction of large asynchronous frameworks, such as the one used in the asyncore Python module.