<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Parallel_Patterns_Library</id>
	<title>Parallel Patterns Library - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Parallel_Patterns_Library"/>
	<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Parallel_Patterns_Library&amp;action=history"/>
	<updated>2026-06-21T02:32:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://70.231.62.181/index.php?title=Parallel_Patterns_Library&amp;diff=1126959&amp;oldid=prev</id>
		<title>imported&gt;Frap: Syntax highlight</title>
		<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Parallel_Patterns_Library&amp;diff=1126959&amp;oldid=prev"/>
		<updated>2024-08-24T20:25:19Z</updated>

		<summary type="html">&lt;p&gt;Syntax highlight&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;Parallel Patterns Library&amp;#039;&amp;#039;&amp;#039; is a [[Microsoft]] library designed for use by native C++ developers that provides features for [[multicore programming]].&amp;lt;ref&amp;gt;{{cite web | url = http://paper.li/visualc/news/2011/03/12 | title = The Visual C++ Weekly | date = March 12, 2011 | access-date = August 14, 2011 | archive-url = https://web.archive.org/web/20111008024206/http://paper.li/visualc/news/2011/03/12 | archive-date = October 8, 2011 | url-status = dead }}&amp;lt;/ref&amp;gt; It was first bundled with [[Visual Studio 2010]]. It resembles the [[C++ Standard Library]] in style and works well with the C++11 language feature, lambdas, also introduced with [[Visual Studio 2010]].&lt;br /&gt;
&lt;br /&gt;
For example, this sequential loop:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
for (int x=0; x &amp;lt; width; ++x)&lt;br /&gt;
{&lt;br /&gt;
    // Something parallelizable&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Can be made into a parallel loop by replacing the for with a &amp;lt;code&amp;gt;parallel_for&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;ppl.h&amp;gt;&lt;br /&gt;
// . . .&lt;br /&gt;
Concurrency::parallel_for (0, width, [=](int x)&lt;br /&gt;
{&lt;br /&gt;
    // Something parallelizable&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This still requires the developer to know that the loop is parallelizable, but all the other work is done by the library.&lt;br /&gt;
&lt;br /&gt;
MSDN&amp;lt;ref&amp;gt;{{cite web | url = http://msdn.microsoft.com/en-us/library/dd492418.aspx | title = Parallel Patterns Library (PPL) on MSDN | date = 3 August 2021 }} &amp;lt;/ref&amp;gt; describes the Parallel Patterns Library as an &amp;quot;imperative programming model that promotes scalability and ease-of-use for developing concurrent applications.&amp;quot; It uses the Concurrency Runtime for scheduling and resource management and provides generic, type-safe algorithms and containers for use in parallel applications.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
{{Compu-stub}}&lt;br /&gt;
[[Category:Concurrent programming libraries]]&lt;br /&gt;
[[Category:C++ libraries]]&lt;br /&gt;
[[Category:Threads (computing)]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Frap</name></author>
	</entry>
</feed>