I am observing some odd behaviour in the update rate of an OPC datasocket. When I run a my simple update application alone, it requires on average 115 ms to complete a datasocket update. However, when I run the application at the same time as another application that is subscribing to the same datasocket, the update task only takes on the order of 15ms to complete.
So my question is, what is going on? More importantly, how do I write my datasocket subroutines to be as fast as possible?
I also want to scale this to ~50 different datasocket reads every 100ms. How can I properly parallelize such a subroutine?