我想在C#或C++或C中更好地使用一些方法。
要測量時間,我可以使用秒錶類,但另外我想測量被消滅代碼保留的內存。您是否知道任何類別或方法與以下代碼中使用的MemoryMeasure類具有相似的屬性?測量代碼使用的內存
Stopwatch s1 = Stopwatch.StartNew();
MemoryMeasure m1 = MemoryMeasure.Start();
for (int i = 0; i < m; i++)
{
//some compute
//for example
//var x = new LargeObject(new SmallObject(), 45);
//some compute
//some compute
}
m1.Stop();
s1.Stop();
Console.Writeline("Your code was executed in " + s1.ElapsedMilliseconds + "ms");
Console.Writeline("Your code ate " + m1.UsedMemory + "MB of memory");
使用['GC.GetTotalMemory'](http://stackoverflow.com/a/13039467/284240)有什麼問題,你可以詳細說明這一點? –
@TimSchmelter - 看到[這個答案](http://stackoverflow.com/a/4738030/1583)有一個原因(基本上,GC週期可能發生在測量點之間,使得該值爲負值且無意義)。 – Oded
免費的鏈接不起作用。 – AlwaysLearning