C#, C♯, C#相談室 Part92 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0761デフォルトの名無しさん
2017/04/11(火) 23:45:38.38ID:f9LqqWjRなにか間違ってるんだろうか?
public static void Main()
{
var methods = new Action<byte[]>[] { ArrayClear, ConcurrentClear };
for (var i = 0; i < 5; i++)
foreach (var method in methods)
{
var sw = Stopwatch.StartNew();
var buffer = new byte[64 * 1024 * 1024];
var random = new Random(0);
random.NextBytes(buffer);
method(buffer);
Console.WriteLine(method.GetMethodInfo().Name + ": " + sw.ElapsedMilliseconds);
}
}
private static void ArrayClear(byte[] buffer)
{ Array.Clear(buffer, 0, buffer.Length); }
private static void ConcurrentClear(byte[] buffer)
{ var t0 = Task.Run(() => Array.Clear(buffer, 0, buffer.Length / 2));
var t1 = Task.Run(() => Array.Clear(buffer, buffer.Length / 2, buffer.Length / 2));
Task.WaitAll(t0, t1); }
■ このスレッドは過去ログ倉庫に格納されています