Aller au contenu

Mesures de performance

De Banane Atomic

StopWatch: temps d’exécution

Permet de mesurer le temps d’exécution

var sw = new Stopwatch();

// on démarre le chrono
sw.Start();
    // actions à mesurer
sw.Stop();
// on affiche le temps écoulé entre Start et Stop
Console.WriteLine(sw.Elapsed);

// on remet le chrono à 0 et on le relance
sw.Restart();
    // actions à mesurer
sw.Stop();
Console.WriteLine(sw.Elapsed);

PerformanceCounter: RAM et CPU

var currentProcess = Process.GetCurrentProcess();
var ramCounter = new PerformanceCounter("Process", "Working Set", currentProcess.ProcessName);

double ram = ramCounter.NextValue();
Console.WriteLine("RAM: " + (ram / 1024 / 1024) + " MB");

Enumerable.Range(0, 1000000).ToArray(); // consume memory

ram = ramCounter.NextValue();
Console.WriteLine("RAM: " + (ram / 1024 / 1024) + " MB");


var cpuCounter = new PerformanceCounter("Process", "% Processor Time", currentProcess.ProcessName);