Parallel.For循環(huán)與普通for循環(huán)的性能比較
更新時(shí)間:2022年04月18日 14:10:46 作者:農(nóng)碼一生
這篇文章介紹了Parallel.For循環(huán)與普通for循環(huán)的性能比較,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
一、Parallel.For循環(huán)優(yōu)于For的情況
代碼:
#region Parallel.For
public static void ParallelForTest()
{
//標(biāo)準(zhǔn)For
var dt = DateTime.Now;
var rand = new Random(DateTime.Now.Millisecond);
for (int i = 0; i < 20; i++)
{
Thread.Sleep(rand.Next(100, 1000));
}
var standerTime = (DateTime.Now - dt).TotalMilliseconds;
Console.WriteLine("標(biāo)準(zhǔn)的for循環(huán),耗時(shí){0}毫秒", standerTime);
//並行For
dt = DateTime.Now;
Parallel.For(0, 20, i =>
{
Thread.Sleep(rand.Next(100, 1000));
});
var parallelTime = (DateTime.Now - dt).TotalMilliseconds;
Console.WriteLine("并行的for循環(huán),耗時(shí){0}毫秒", parallelTime);
Console.WriteLine();
if (standerTime <= parallelTime)
{
Console.WriteLine("----------標(biāo)準(zhǔn)的for循環(huán)節(jié)省{0}毫秒----------", (parallelTime - standerTime));
}
else
{
Console.WriteLine("----------并行的for循環(huán)節(jié)省{0}毫秒----------", (standerTime - parallelTime));
}
Console.ReadKey();
}
#endregion運(yùn)行結(jié)果:

二、For循環(huán)優(yōu)于Parallel.For的情況
代碼:
#region For
public static void ForTest()
{
Stopwatch sw = new Stopwatch();
sw.Start();
Console.WriteLine("Parallel.For");
ParallelLoopResult result =
Parallel.For(0, 10000, i =>
{
//打印空
Console.Write("");
});
sw.Stop();
TimeSpan ts2 = sw.Elapsed;
Console.WriteLine("Parallel.For總共花費(fèi){0}ms.", ts2.TotalMilliseconds);
//簡單的For循環(huán)
Stopwatch sw_Eq = new Stopwatch();
sw_Eq.Start();
Console.WriteLine("For");
for (int i = 0; i < 10000; i++)
{
//打印空
Console.Write("");
}
sw_Eq.Stop();
TimeSpan tssw_Eq = sw_Eq.Elapsed;
Console.WriteLine("for總共花費(fèi){0}ms.", tssw_Eq.TotalMilliseconds);
Console.ReadKey();
}
#endregion運(yùn)行結(jié)果:

到此這篇關(guān)于Parallel.For循環(huán)與普通for循環(huán)比較的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#創(chuàng)建Windows服務(wù)的圖文教程
本文主要介紹了C#創(chuàng)建Windows服務(wù)的圖文教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
c#數(shù)據(jù)綁定之?dāng)?shù)據(jù)轉(zhuǎn)化為信息的示例
這篇文章主要介紹了c#數(shù)據(jù)綁定中的數(shù)據(jù)轉(zhuǎn)化為信息的示例,需要的朋友可以參考下2014-04-04
C#緩存之SqlCacheDependency用法實(shí)例總結(jié)
這篇文章主要介紹了C#緩存之SqlCacheDependency用法,在C#程序設(shè)計(jì)中有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08
漢字轉(zhuǎn)拼音縮寫示例代碼(Silverlight和.NET 將漢字轉(zhuǎn)換成為拼音)
本篇文章主要介紹了漢字轉(zhuǎn)拼音縮寫示例代碼(Silverlight和.NET 將漢字轉(zhuǎn)換成為拼音) 需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01

