in reply to Profiling a forking program

Try Net::Server it works very well.

http://seamons.com/net_server.html

Maybe try threading? Threading is stable enough to use under Win32, and I've had sucess using it under Solaris and FreeBSD.
I have a pre-sporked-multi-threaded server that's just about ready for prime time, although it hogs up plenty of memory, the performance is great.