interprocess inlining
Shawn Pearce
spearce@REDACTED
Thu Dec 5 18:02:08 CET 2002
Thomas Lindgren <thomasl_4711@REDACTED> wrote:
> Third: another interesting issue, if we want to handle
> more complex scenarios, is how to handle chained
> sends:
>
> - A sends to B
> - B sends to C
> - C sends to D
This is the more interesting case to me. Sometimes a
server is built to just proxy messages to another
process, after perhaps a very mild reformatting.
If the last meaningful op that a server does is
a message send, and it doesn't do any function calls
except the tail recursion to go back to receive,
it might be nice to inline this just to improve
latency.
server(State) ->
receive
{request, Payload} ->
Pid = State#mystate.target,
Pid ! {dowork, Payload, self()},
server(State)
end.
--
Shawn.
More information about the erlang-questions
mailing list