We are facing performance issues using C# program and norrowed down to very simple program. Here is program and its output as well. Can you please have a look and explain me why there is periodic delay of 15 milliseconds?
Please run it on your system and see if you observe same delay ( may be some policy on my system causing it to sleep for 15 milliseconds). Appreciate your help.
Source Code:
Expand|Select|Wrap|Line Numbers
- // PInvokeTest.cs
- using System;
- using System.Runtime.InteropServices;
- using System.Threading;
- class PlatformInvokeTest
- {
- static DateTime stdt;
- public static void dateandTime(string str)
- {
- DateTime dt = DateTime.Now;
- TimeSpan t = dt.Subtract(stdt);
- Console.WriteLine("difference from previous print : "+t.Milliseconds.ToString("000"));
- stdt = dt;
- if (str != null)
- {
- Console.WriteLine(str + dt.Hour + ":" + dt.Minute + ":" + dt.Second + ":" + dt.Millisecond.ToString("000"));
- }
- else
- {
- Console.WriteLine(dt.Hour + ":" + dt.Minute + ":" + dt.Second + ":" + dt.Millisecond.ToString("000"));
- }
- }
- public static void abc(string str1)
- {
- if(str1 !=null)
- {
- }
- }
- public static void Main()
- {
- stdt = DateTime.Now;
- int i = 0;
- while (i < 100)
- {
- dateandTime("Before ");
- //abc("abc");
- dateandTime("After ");
- i++;
- }
- }
- }
Expand|Select|Wrap|Line Numbers
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 000
- After 14:0:21:359
- difference from previous print : 000
- Before 14:0:21:359
- difference from previous print : 015
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375
- difference from previous print : 000
- Before 14:0:21:375
- difference from previous print : 000
- After 14:0:21:375