Happy Friday all, had a few questions about the mechanics of IPC:
- Are IPC messages sent in a FIFO (first in, first out) queue? For example, say I am a client sending IPC messages m1, m2, m3 in that order to a server. Will the server process m1, m2, m3 in that same order?
- Is the above true whether the messages are sync or async?
- I’ll define some variables to make discussing the following points easier:
Let x represent some command or data, which when processed by q yields output f(x).
Let t1 = time for client to send “x”
Let t2 = time for server to calculate f(x)
Let t3 = time for client to receive f(x)
If I enter into the q console,
\t h"x"
Is the result t1 + t2 + t3 ?
- What of async calls:
\t (neg h)“x”
Is the result simply t1?
- This is more interesting - if we send several async calls, then a sync call,
\t do[10;(neg h)“x”]; h"x"
What is this? Is it 10*(t1+t2), for the 10 async calls, plus t1+t2+t3, for the last sync call?
Kind regards,
Michael