On Thu, Jul 2, 2015 at 6:18 PM, Andrew Hundt <athundt@gmail.com> wrote:

On Thu, Jul 2, 2015 at 5:00 PM, Jonathan Franklin <franklin.jonathan@gmail.com> wrote:
On Thu, Jul 2, 2015 at 12:12 AM, Andrew Hundt <athundt@gmail.com> wrote:
runs again?  It is 10ms on a number of platforms, which may cause you grief if you're trying to do something (asynchronously) more frequently than that, i.e. 5 ms.

 
Very interesting! Thread priority could explain it since the async calls yield when they are done and the sync would be returned by the underlying system call at the right time. Thanks!
 
Interestingly enabling realtime mode with `thread_policy_set()` didn't fix the problem, and actually increased the variation. I'm sure I could pick parameters that would reduce variation, but I don't think it would solve the 8ms problem. 
mean = 8.000 [ms], std = 0.176, max/min = 17.615/0.059; 6999 iter. 

Cheers!
Andrew Hundt