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
> 
> 
> 

Reply via email to