now, maybe i am mistaken... however, opening up a socket
connection, no matter how simple, should be MARKEDLY slower
than opening up a pipe, no matter what the situation. If
you are opening up a socket to a host you have
to deal with:
- TCP/IP overhead
- Network Transport Layer Overhead
- Communicational Latency
- The fact that you are communicating via external
means, instead of the bus!
however, if you are opening up a pipe, to a process on the
local machine then the situation is:
- there is NO TCP/IP overhead
- there is NO network layer overhead
- the communicational latency is the velocity at
which the receiving process can aquire STDIN
- and you are communicating through memory and the
bus, which have a MUCH greater bandwith and
throughput than most any network connection!
if speed is your constraint, and you are attempting to
maximize the throughput (here being messages per minute) I
can not conceive of a way faster than communicating directly
with sendmail through a pipe.
UPDATE: thanks to lhoward i have now learned that
in modern operating systems, much to my suprise, the TCP
subsystem has been optimized WAY better than I ever thought
it would be, so, my entire coment above, should be disreguarded
and i should be flogged for not having benchmarked in the
first place :) keep the learning coming...