Hi Rinaldo, MacOS X has a variety of mechanisms designed to improve energy efficiency, and many of these impact timer behavior. I suspect that this is what is affecting you. There is a whitepaper here, which has more details https://www.apple.com/media/us/osx/2013/docs/OSX_Power_Efficiency_Technology_Overview.pdf
—James > On Jun 3, 2016, at 13:11, DiGiorgio, Mr. Rinaldo S. <[email protected]> > wrote: > > Hi, > > We are running the following Java application and we are getting > unreasonable deltas in the actual amount time slept. On linux the results are > as expected 10, 11, 12 but mostly 10ms. Can you suggest any changes we can > make or is this a known issue or a new issue to be investigated? When we run > the same code on the same instance of OSX 10.10.5 without mesos -- we get > the expected results. > > > public class SleepLatency { > static final int COUNT = 100; > static final long DELAY = 10L; > > public static void main(String[] args) throws Exception { > long tstart = System.currentTimeMillis(); > for (int i = 0; i < COUNT; i++) { > long t0 = System.currentTimeMillis(); > Thread.sleep(DELAY); > long t1 = System.currentTimeMillis(); > System.out.printf("loop %3d delay %4d ms%n", i, t1 - t0); > } > long tfinish = System.currentTimeMillis(); > System.out.printf("total time = %5d ms%n", tfinish - tstart); > } > } > > ====== OSX RESULTS are 10 to 20 times larger than LINUX Results below ===== > > sh -c '/opt/jdk/bin/java -cp ./mach5-mesos-support-1.0-SNAPSHOT.jar > SleepLatency' > loop 0 delay 141 ms > loop 1 delay 201 ms > loop 2 delay 81 ms > loop 3 delay 14 ms > loop 4 delay 194 ms > loop 5 delay 149 ms > loop 6 delay 172 ms > loop 7 delay 203 ms > loop 8 delay 203 ms > loop 9 delay 204 ms > loop 10 delay 204 ms > loop 11 delay 204 ms > loop 12 delay 203 ms > loop 13 delay 203 ms > loop 14 delay 40 ms > loop 15 delay 206 ms > loop 16 delay 171 ms > loop 17 delay 107 ms > loop 18 delay 85 ms > loop 19 delay 204 ms > loop 20 delay 204 ms > loop 21 delay 203 ms > loop 22 delay 208 ms > loop 23 delay 200 ms > loop 24 delay 203 ms > loop 25 delay 203 ms > loop 26 delay 204 ms > loop 27 delay 204 ms > loop 28 delay 120 ms > loop 29 delay 83 ms > loop 30 delay 204 ms > loop 31 delay 203 ms > loop 32 delay 204 ms > loop 33 delay 208 ms > loop 34 delay 199 ms > loop 35 delay 204 ms > loop 36 delay 175 ms > loop 37 delay 11 ms > loop 38 delay 115 ms > loop 39 delay 205 ms > loop 40 delay 204 ms > loop 41 delay 11 ms > loop 42 delay 91 ms > loop 43 delay 202 ms > loop 44 delay 203 ms > loop 45 delay 204 ms > loop 46 delay 209 ms > loop 47 delay 112 ms > loop 48 delay 16 ms > loop 49 delay 69 ms > loop 50 delay 204 ms > loop 51 delay 18 ms > loop 52 delay 14 ms > loop 53 delay 70 ms > loop 54 delay 33 ms > loop 55 delay 184 ms > loop 56 delay 199 ms > loop 57 delay 194 ms > loop 58 delay 102 ms > loop 59 delay 102 ms > loop 60 delay 12 ms > loop 61 delay 197 ms > loop 62 delay 204 ms > loop 63 delay 204 ms > loop 64 delay 206 ms > loop 65 delay 11 ms > loop 66 delay 180 ms > loop 67 delay 202 ms > loop 68 delay 10 ms > loop 69 delay 20 ms > loop 70 delay 199 ms > loop 71 delay 179 ms > loop 72 delay 202 ms > loop 73 delay 33 ms > loop 74 delay 69 ms > loop 75 delay 14 ms > loop 76 delay 88 ms > loop 77 delay 204 ms > loop 78 delay 209 ms > loop 79 delay 198 ms > loop 80 delay 204 ms > loop 81 delay 25 ms > loop 82 delay 76 ms > loop 83 delay 102 ms > loop 84 delay 173 ms > loop 85 delay 13 ms > loop 86 delay 17 ms > loop 87 delay 14 ms > loop 88 delay 191 ms > loop 89 delay 204 ms > loop 90 delay 204 ms > loop 91 delay 102 ms > loop 92 delay 47 ms > loop 93 delay 37 ms > loop 94 delay 142 ms > loop 95 delay 202 ms > loop 96 delay 204 ms > loop 97 delay 202 ms > loop 98 delay 104 ms > loop 99 delay 80 ms > total time = 14193 ms > > > ====== LINUX RESULTS are as expected ====== > > sh -c '/opt/jdk/bin/java -cp ./mach5-mesos-support-1.0-SNAPSHOT.jar > SleepLatency' > Forked command at 6125 > loop 0 delay 10 ms > loop 1 delay 11 ms > loop 2 delay 10 ms > loop 3 delay 10 ms > loop 4 delay 10 ms > loop 5 delay 10 ms > loop 6 delay 10 ms > loop 7 delay 10 ms > loop 8 delay 10 ms > loop 9 delay 10 ms > loop 10 delay 10 ms > loop 11 delay 10 ms > loop 12 delay 10 ms > loop 13 delay 10 ms > loop 14 delay 10 ms > loop 15 delay 10 ms > loop 16 delay 10 ms > loop 17 delay 10 ms > loop 18 delay 10 ms > loop 19 delay 11 ms > loop 20 delay 10 ms > loop 21 delay 10 ms > loop 22 delay 10 ms > loop 23 delay 10 ms > loop 24 delay 10 ms > loop 25 delay 11 ms > loop 26 delay 10 ms > loop 27 delay 10 ms > loop 28 delay 10 ms > loop 29 delay 10 ms > loop 30 delay 10 ms > loop 31 delay 10 ms > loop 32 delay 10 ms > loop 33 delay 10 ms > loop 34 delay 11 ms > loop 35 delay 10 ms > loop 36 delay 10 ms > loop 37 delay 11 ms > loop 38 delay 10 ms > loop 39 delay 10 ms > loop 40 delay 11 ms > loop 41 delay 10 ms > loop 42 delay 10 ms > loop 43 delay 11 ms > loop 44 delay 10 ms > loop 45 delay 10 ms > loop 46 delay 10 ms > loop 47 delay 10 ms > loop 48 delay 10 ms > loop 49 delay 10 ms > loop 50 delay 10 ms > loop 51 delay 10 ms > loop 52 delay 11 ms > loop 53 delay 10 ms > loop 54 delay 10 ms > loop 55 delay 10 ms > loop 56 delay 10 ms > loop 57 delay 10 ms > loop 58 delay 10 ms > loop 59 delay 10 ms > loop 60 delay 10 ms > loop 61 delay 10 ms > loop 62 delay 11 ms > loop 63 delay 10 ms > loop 64 delay 10 ms > loop 65 delay 11 ms > loop 66 delay 10 ms > loop 67 delay 10 ms > loop 68 delay 10 ms > loop 69 delay 10 ms > loop 70 delay 10 ms > loop 71 delay 10 ms > loop 72 delay 11 ms > loop 73 delay 10 ms > loop 74 delay 10 ms > loop 75 delay 10 ms > loop 76 delay 11 ms > loop 77 delay 10 ms > loop 78 delay 10 ms > loop 79 delay 10 ms > loop 80 delay 11 ms > loop 81 delay 10 ms > loop 82 delay 10 ms > loop 83 delay 10 ms > loop 84 delay 10 ms > loop 85 delay 10 ms > loop 86 delay 10 ms > loop 87 delay 10 ms > loop 88 delay 10 ms > loop 89 delay 10 ms > loop 90 delay 10 ms > loop 91 delay 10 ms > loop 92 delay 10 ms > loop 93 delay 10 ms > loop 94 delay 10 ms > loop 95 delay 10 ms > loop 96 delay 10 ms > loop 97 delay 10 ms > loop 98 delay 10 ms > loop 99 delay 10 ms > total time = 1035 ms > > >

