поочередно,решил "распаралелить"
Task[] tasks = new Task[MyCollection.Lenght];
for(var i = 0; i < tasks.Length; i++)
{
tasks[i] = new Task(() =>
{
MyMethod();
});
tasks[i].Start(); // запускаем задачу
}
Task.WaitAll(tasks);
Получается 19.8 вместо 20.4 секунды,но при этом оно жрет 1.2 гига,вместо 200 или около того
Почему так?Оно же должно было запуститься почти все вместе сразу и завершиться по идеи быстрее
MyMethod - отдельный метод который принимает параметр и вызывает все те же методы что и первоначальный форич
Возможно херню написал и еще хуже забенчил
Зачем распаралелливат коллекцию тасками когда есть Parallel.For и Parallel.ForEach?
Я "бенчю" stopwatch`ем вообще
Можно и через таски, но тут херь написана просто
Обсуждают сегодня