{"id":55914,"date":"2010-04-26T09:00:00","date_gmt":"2010-04-26T09:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/pfxteam\/2010\/04\/26\/performance-of-concurrent-collections-in-net-4\/"},"modified":"2010-04-26T09:00:00","modified_gmt":"2010-04-26T09:00:00","slug":"performance-of-concurrent-collections-in-net-4","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/performance-of-concurrent-collections-in-net-4\/","title":{"rendered":"Performance of Concurrent Collections in .NET 4"},"content":{"rendered":"<p><span style=\"font-size: x-small\">.NET 4 introduces new data structures designed to simplify thread-safe access to shared data, and to increase the performance and scalability of multi-threaded applications. To best take advantage of these data structures, it helps to understand their performance characteristics in different scenarios.<\/span><\/p>\n<p><span style=\"font-size: x-small\">Chunyan Song, Emad Omara and Mike Liddell measured the performance of four new concurrent collection types: <span style=\"font-size: x-small\">ConcurrentQueue(T), ConcurrentStack(T), ConcurrentBag(T), and ConcurrentDictionary(TKey, TValue), and published their findings in this paper:<\/span><\/span><\/p>\n<ul>\n<li><span style=\"font-size: x-small\"><span style=\"font-size: x-small\"><a title=\"Thread-safe Collections in .NET Framework 4 and Their Performance Characteristics\" href=\"http:\/\/download.microsoft.com\/download\/B\/C\/F\/BCFD4868-1354-45E3-B71B-B851CD78733D\/PerformanceCharacteristicsOfThreadSafeCollection.pdf\">Thread-safe Collections in .NET Framework 4 and Their Performance Characteristics<\/a><\/span><\/span><\/li>\n<\/ul>\n<p><span style=\"font-size: x-small\"><span style=\"font-size: x-small\">(This paper and many more are available through the Parallel Computing Developer Center on MSDN at <a href=\"http:\/\/msdn.microsoft.com\/en-us\/concurrency\/ee851578.aspx\"><span style=\"color: #dd4a21\">http:\/\/msdn.microsoft.com\/en-us\/concurrency\/ee851578.aspx<\/span><\/a>.)<\/span><\/span><\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>.NET 4 introduces new data structures designed to simplify thread-safe access to shared data, and to increase the performance and scalability of multi-threaded applications. To best take advantage of these data structures, it helps to understand their performance characteristics in different scenarios. Chunyan Song, Emad Omara and Mike Liddell measured the performance of four new [&hellip;]<\/p>\n","protected":false},"author":481,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7908],"tags":[7907,7922,7916,7909],"class_list":["post-55914","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pfxteam","tag-net-4","tag-article-summary","tag-coordination-data-structures","tag-parallel-extensions"],"acf":[],"blog_post_summary":"<p>.NET 4 introduces new data structures designed to simplify thread-safe access to shared data, and to increase the performance and scalability of multi-threaded applications. To best take advantage of these data structures, it helps to understand their performance characteristics in different scenarios. Chunyan Song, Emad Omara and Mike Liddell measured the performance of four new [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/55914","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/481"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=55914"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/55914\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=55914"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=55914"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=55914"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}