{"id":23413,"date":"2022-11-25T21:31:20","date_gmt":"2022-11-25T16:01:20","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/"},"modified":"2022-11-25T21:31:20","modified_gmt":"2022-11-25T16:01:20","slug":"solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/","title":{"rendered":"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-27757091\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"27757091\" data-parentid=\"27671717\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>To get more accurate results, remove the calls to <code>Console.WriteLine<\/code> inside both loops. You will still see that parallel loop is slower, because of the reasons stated in the question comments. <\/p>\n<p>To get a better feel for why that is, use instead an overload of <code>Parallel.For<\/code> from <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dd781401(v=vs.110).aspx\">here<\/a> and set the property <code>ParallelOptions.MaxDegreeOfParallelism<\/code> to 4 (allow max 4 concurrent operations) or -1 (no restrictions) and the parallel for loop is slower, as expected, because of the thread handling overhead. Now set <code>ParallelOptions.MaxDegreeOfParallelism<\/code> to 1, meaning only 1 thread will be handling the loop operation. Should result into similar timings now right?<\/p>\n<p>Now the results are closer, but the parallel loop is still slower. It is, <strong>i think<\/strong>,  because the parallel loop still has to handle threading and interact with the <code>TaskScheduler<\/code> somehow, where the normal loop does not at all.<\/p>\n<p>I hope this answer gives you some more insight.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Why is the C# Task Parallel Library code slower than a normal for loop? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] To get more accurate results, remove the calls to Console.WriteLine inside both loops. You will still see that parallel loop is slower, because of the reasons stated in the question comments. To get a better feel for why that is, use instead an overload of Parallel.For from here and set the property ParallelOptions.MaxDegreeOfParallelism to &#8230; <a title=\"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/\" aria-label=\"More on [Solved] Why is the C# Task Parallel Library code slower than a normal for loop?\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,325,1394],"class_list":["post-23413","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-performance","tag-task-parallel-library"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Why is the C# Task Parallel Library code slower than a normal for loop? - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] To get more accurate results, remove the calls to Console.WriteLine inside both loops. You will still see that parallel loop is slower, because of the reasons stated in the question comments. To get a better feel for why that is, use instead an overload of Parallel.For from here and set the property ParallelOptions.MaxDegreeOfParallelism to ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-25T16:01:20+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop?\",\"datePublished\":\"2022-11-25T16:01:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/\"},\"wordCount\":172,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"performance\",\"task-parallel-library\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/\",\"name\":\"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-11-25T16:01:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop? - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop? - JassWeb","og_description":"[ad_1] To get more accurate results, remove the calls to Console.WriteLine inside both loops. You will still see that parallel loop is slower, because of the reasons stated in the question comments. To get a better feel for why that is, use instead an overload of Parallel.For from here and set the property ParallelOptions.MaxDegreeOfParallelism to ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/","og_site_name":"JassWeb","article_published_time":"2022-11-25T16:01:20+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop?","datePublished":"2022-11-25T16:01:20+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/"},"wordCount":172,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","performance","task-parallel-library"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/","url":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/","name":"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-25T16:01:20+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-why-is-the-c-task-parallel-library-code-slower-than-a-normal-for-loop\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Why is the C# Task Parallel Library code slower than a normal for loop?"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/23413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=23413"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/23413\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=23413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=23413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=23413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}