About the encoding -- don't worry about ditching trivial-utf-8, if there is a faster and more general alternative that's cool. I don't see any functionality for writing directly to a stream in it though, but maybe I didn't look hard enough. Perform some benchmarks to prove that babel actually speeds things up before building a patch.
ok. i'm waiting for Luis to push some of his changes, and after that i'll add buffered stream writing capabilities if it's not among the new patches.
I didn't know iolib. It looks cool -- but I'm not okay with making postmodern posix-only. If you can find a way to make the socket library 'pluggable', that would be cool... but then we're writing a wrapper around socket wrapper libraries, which is a bit screwy. Have you looked deeply in the problems you're having with usocket? Might they be fixed by patching usocket?
the problem is with sb-bsd-sockets. but even if it were working fine then usocket would be missing api for timeouts. my problem is that sometimes the connection is dropped (no idea why, there's no error in the postgres log), but when it happens in the wrong phase then the CL:CLOSE call hangs in TRY-TO-SYNC forever. my current fix is a local kludge patch that uses sbcl's WITH-TIMEOUT directly.
i'll try to make iolib compile-time pluggable and if it's not too kludgy then i'll record it and report back.
happy hacking,