0
簡単なテストプログラムを作成して、DisposeとDataContainerオブジェクトを呼び出す間のメモリと速度の違いを調べます。DataContainerまたはDataContextでDisposeを呼び出す必要があるのはなぜですか?違いはありません。
ここに私のテストプログラム:
static void Main(string[] args)
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
for (int i = 0; i < 5000; i++)
{
// I change the following call with Method1 and run it again
var res = Method2();
int count = res.Count;
}
stopwatch.Stop();
Console.WriteLine(stopwatch.Elapsed);
Console.WriteLine("Mem: " + System.Diagnostics.Process.GetCurrentProcess().PrivateMemorySize64.ToString("N"));
Console.ReadKey();
}
private static IList Method1()
{
using (var db = new Model.SampleEntities())
{
var result = db.People.Where(p => p.Name.StartsWith("a")).Take(1);
return result.ToList();
}
}
private static IList Method2()
{
var db = new Model.SampleEntities();
var result = db.People.Where(p => p.Name.StartsWith("a")).Take(1);
return result.ToList();
}
結果は、両方の方法で同じです。 私のPCの結果は約27.22秒で、約37.7 MBのプライベートメモリサイズでした。
DataContainerのDisposeを呼び出す必要がありますが、違いはありません。
ありがとうございます。
私は知っているが、これらのリソースは何ですか?なぜそれらを廃棄してもパフォーマンスに影響しないのでしょうか? –