Я немного смущен, потому что, когда я использую этот код:Задачи параллелизма медленнее обычного исполнения?
catalog.Elements = GetElements(myProvider.Elements);
catalog.Programs = GetPrograms(myProvider.Programs);
catalog.Details = GetDetails(myProvider.Details);
У меня есть 4 секунды.
И когда я пытаюсь сделать это с задачами (.NET 4.0):
Task<List<Element>> elementsTask = Task.Factory.StartNew<List<Element>>(
delegate {
return GetElements(myProvider.Elements);
});
Task<List<Program>> programsTask = Task.Factory.StartNew<List<Program>>(
delegate {
return GetPrograms(myProvider.Programs);
});
Task<List<Detail>> detailsTask = Task.Factory.StartNew<List<Detail>>(
delegate {
return GetDetails(myProvider.Details);
});
catalog.Elements = elementsTask.Result;
catalog.Programs = programsTask.Result;
catalog.Details = detailsTask.Result;
я получаю 6 секунд.
Нормально ли, что это быстрее, когда я не использую параллелизм задачи?
Thanks
как вы измеряете время? –
Сколько ядер у вас есть? –
С классом секундомера – ahikaz