Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2014, 12:21   #1
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию Task Parallel Library работает медленно

Ребят, в чем прикол, почему TPL медленнее обрабатывает код приведенный ниже нежели обычный цикл в потоке.
Прошу не пинать если я сделал что-то не так, я только начал изучать TPL.

http://prntscr.com/4nm3pd

Код:
class Program
{
 private const int MaxArray = 100000000;

 private static readonly int[] NumericsArray = new int[MaxArray];

 static void Main(string[] args)
 {
  var start = DateTime.Now;
  var random = new Random();

  Console.WriteLine("Start Time: {0}", start);

  Task.Factory.StartNew(() =>
   {
    for (var index = 0; index < MaxArray; index++)
    {
     NumericsArray[index] = random.Next(0, MaxArray);
    }

    var endTime = DateTime.Now;

    Console.WriteLine("End Time: {0}. Exec Time: {1}", endTime, endTime.Ticks - start.Ticks);
   });

  Console.WriteLine("Waiting...");

  Console.ReadLine();
 }
}
http://prntscr.com/4nm3gp

Код:
class Program
{
 private const int MaxArray = 100000000;

 private static readonly int[] NumericsArray = new int[MaxArray];

 static void Main(string[] args)
 {
  var start = DateTime.Now;
  var random = new Random();

  Console.WriteLine("Start Time: {0}", start);

  Task.Factory.StartNew(() =>
   {
    var parallelFor = Parallel.For(0, MaxArray, (index, loopState) =>
     {
      NumericsArray[index] = random.Next(0, MaxArray);
     });
   }).ContinueWith(obj =>
    {
     var endTime = DateTime.Now;
     Console.WriteLine("End Time: {0}. Exec Time: {1}", endTime, endTime.Ticks - start.Ticks);
    });

  Console.WriteLine("Waiting...");

  Console.ReadLine();
 }
}
coNsept вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему так медленно работает цикл? zotox Общие вопросы C/C++ 3 09.01.2011 23:57
Сервер работает медленно kuzyakiev PHP 9 06.08.2010 14:36
медленно работает код(СУБД Paradox) alex_-87 БД в Delphi 5 19.06.2010 13:12
Почему запрос работает медленно _SERGEYX_ БД в Delphi 1 24.10.2008 17:30
Почему ХОR работает медленно? Иллидан Помощь студентам 5 01.05.2008 14:51