2009-09-24 13 views
2

J'utilise C#/.NET 1.1; comment puis-je calculer le temps de traitement, par exemple pour copier un fichier d'un système à un autre?Calculer le temps de traitement

+0

temps de traitement juste calc pour copier le fichier – maxy

Répondre

15

System.Diagnostics.Stopwatch

Stopwatch sw = new Stopwatch(); 
sw.Start(); 
CopyFile(); 
sw.Stop(); 
Console.WriteLine("Elapsed : {0}", sw.Elapsed) 

Cette classe pas disponible dans .NET 1.1, au lieu que vous pouvez utiliser le QueryPerformanceCounter et QueryPerformanceFrequency API

[DllImport("kernel32.dll", SetLastError=true)] 
public static extern bool QueryPerformanceCounter(out long lpPerformanceCount); 

[DllImport("kernel32.dll", SetLastError=true)] 
public static extern bool QueryPerformanceFrequency(out long lpFrequency); 

... 

long start; 
long end; 
long freq; 
QueryPerformanceCounter(out start); 
CopyFile(); 
QueryPerformanceCounter(out end); 
QueryPerformanceFrequency(out freq); 
double seconds = (double)(end - start)/freq; 
Console.WriteLine("Elapsed : {0} seconds", seconds) 
+0

am utilise .net 2003 ..so ce n'est pas possible là-bas. – maxy

+0

C'est le genre de chose que vous auriez dû spécifier dans la question ... nous ne pouvons pas le deviner! Voir ma réponse mise à jour pour une solution .NET 1.1 –

+0

.NET Framework Pris en charge dans: 3.5, 3.0, 2.0 Vous avez tort. – Blindy

Questions connexes