<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Seemingly Xe3 provides a parallel loop feature to support fast
multi-Core applications<br>
<br>
<hr size="2" width="100%">
<pre><pre> <span class="kw1">try</span>
<span class="co1">// counts the prime numbers below a given value</span>
Tot <span class="sy1">:</span><span class="sy3">=</span><span class="nu0">0</span><span class="sy1">;</span>
SW <span class="sy1">:</span><span class="sy3">=</span>TStopWatch<span class="sy1">.</span><span class="me1">Create</span><span class="sy1">;</span>
SW<span class="sy1">.</span><span class="me1">Start</span><span class="sy1">;</span>
TParallel<span class="sy1">.</span><span class="kw1">For</span><span class="br0">(</span><span class="nu0">2</span><span class="sy1">,</span><span class="nu0">1</span><span class="sy1">,</span><span class="kw3">Max</span><span class="sy1">,</span><span class="kw1">procedure</span><span class="br0">(</span>I<span class="sy1">:</span><span class="kw4">Int64</span><span class="br0">)</span>
<span class="kw1">begin</span>
<span class="kw1">if</span> IsPrime<span class="br0">(</span>I<span class="br0">)</span> <span class="kw1">then</span>
TInterlocked<span class="sy1">.</span><span class="me1">Increment</span><span class="br0">(</span>Tot<span class="br0">)</span><span class="sy1">;</span>
<span class="kw1">end</span><span class="br0">)</span><span class="sy1">;</span>
SW<span class="sy1">.</span><span class="me1">Stop</span><span class="sy1">;</span>
Memo1<span class="sy1">.</span><span class="me1">Lines</span><span class="sy1">.</span><span class="me1">Add</span><span class="br0">(</span><span class="kw3">Format</span><span class="br0">(</span><span class="st0">'Parallel For loop. Time (in milliseconds): %d - Primes found: %d'</span><span class="sy1">,</span> <span class="br0">[</span>SW<span class="sy1">.</span><span class="me1">ElapsedMilliseconds</span><span class="sy1">,</span>Tot<span class="br0">]</span><span class="br0">)</span><span class="br0">)</span><span class="sy1">;</span>
<span class="kw1">except</span> <span class="kw1">on</span> E<span class="sy1">:</span>EAggregateException <span class="kw1">do</span>
ShowMessage<span class="br0">(</span>E<span class="sy1">.</span><span class="me1">ToString</span><span class="br0">)</span><span class="sy1">;</span>
<span class="kw1">end</span><span class="sy1">;</span>
</pre></pre>
<hr size="2" width="100%">
<pre>
</pre>
<pre>So they did not use the Prism syntax ("parallel for" / "future"), but (again) introduced something new incompatible to everything.
Will fpc follow ?
-Michael
</pre>
<br>
<br>
<br>
</body>
</html>