I think one of the design idea of usocket is just not use CFFI, and any non-lisp code. IOlib is another approach of Lisp networking, it has some C wrapper code to be used with CFFI.
Yes, basically I agree.
Use select() or pool() will cause non_OS-portable code and other difficulties. I suggest not use them directly... usocket should keep it simple, and shouldn't depends on CFFI, or any other ASDF package.
And here, I agree too. However, some people have suggested that usocket could incorporate an alternative backend which is built 'closer to the OS', for example using CFFI.
Even though I will not be building such a backend myself, I can definitely see why anyone would want to create it. And as such, when a maintainer pops up for the task, I'll happily integrate the contribution (and sustained maintenance!) into the project.
I hope that we may see a contribution like this some time in the future (ie a contribution specifically targetted at performance).
Bye,
Erik.