Freigeben über


Performance Enhancements to Parallel Patterns Library (PPL) and Concurrency Runtime

Applications just run faster. This is one of our themes for v.next.

Since our last release in Visual Studio 2010, we have made significant improvements to the entire C++ stack, including the concurrency runtime and libraries. Here are some performance charts to get you excited about our v.next!

Stock portfolio analysis is 10-15% faster

Simply recompiling the stock portfolio analysis sample gives you about 8-10% performance improvement. In addition, exploiting cache affinity by using the new affinity_partitioner gives you an extra 3-5% benefit

Cartoonizer is ~20% faster

Simply recompiling the cartoonizer sample gives you about 15-25% performance improvement.

Stay tuned for more …!

 

 

Rahul V. Patil

Lead Program Manager

Comments

  • Anonymous
    September 26, 2011
    Rahul, can you comment on where the performance comes from that leads to such improvements, due to recompilation? If recompilation are the benefits coming from improvements to the runtime or due to the compiler? What hardware and OS are these charts taken from? Is this 32 or 64 bit Win? Also, where can I download the complete project files to be able to build and run these samples? Are these all in the concrt sample pack? thanks!

  • Anonymous
    September 27, 2011
    Hi Jack, Some of our internal micro-benchmarking shows 5X improvements regardless of the compiler and some other workloads attribute most of the gains to the compiler improvements. It really depends on the workloads and we havent done the split analysis for the specific workloads above. These tests are running on Windows 7 x64. The target applications are x86 binaries. The deltas are reproducible and pretty close on a variety of hardware (except the affinity tests). These can be downloaded in the older sample pack: archive.msdn.microsoft.com/concrtextras.  The blog links above describe how to build and run them. Also I have a more detailed list of perf improvements that you might be interested in. I am happy to schedule an online meeting and go over the numbers with you. [My email is r_ a_ h_ u_ l   d o t    p_ a_ t_ i_ l    a t    m_ i_ c_ r_ o_ s_ o_ f_ t_ . c_ o_ m  (delete all underscores and spaces).]