On my MAC, I have a XPC server running as a daemon. It also checks the clients for codesigning requirements.
I have multiple clients(2 or more).
Each of these clients periodically(say 5 seconds) poll the XPC server to ask for a particular data.
I want to understand how the performance of my MAC will be affected when multiple XPC clients keep polling a XPC server.
I want to understand how the performance of my MAC will be affected when multiple XPC clients keep polling a XPC server.
In terms of XPC's direct impact, that really depends on how fast you're polling. Case in point:
Each of these clients periodically(say 5 seconds) poll the XPC server to ask for a particular data.
In terms of the impact XPC itself has, I think it would basically be impossible to detect or really measure the impact of a single (or even "several") XPC every 5s. There could be secondary effect that MIGHT relevant, for example:
-
The actual "work" that XPC message initiated.
-
Side effects like activity that also kept the machine awake.
...but the actual cost of a single mach IPC (what XPC actually uses) is about as heavily optimized as it can possibly. Even under HIGHLY controlled conditions, I think it would be nearly impossible to even detect the impact of 1 message every 5s.
__
Kevin Elliott
DTS Engineer, CoreOS/Hardware