Casablanca and PPL

Sep 11, 2015 at 3:43 AM
For quite some time now, I tried to find a few answers on the status of PPL / ConcRT at MS, but I could find nothing significant. I asked a question in the PPL forum but nobody is answering it... Since we started using Casablanca and since Casablanca makes heavy use of PPL I will repeat here the questions:
  1. Casablanca team developed a pplx library to be multi platform and as of now (vs 2015) I think on Windows the ppl and pplx were merged. Correct?
  2. Since around vs 2013 (or maybe earlier), there is not too much new development on ConcRT and PPL (none that I can find info about!). Is PPL/ConcRT still developed or is on its way to became another MS product put on maintenance?
  3. In vs2015 there is a unit called pplwin.h. Since it has ppl in name, I assume that it is still somehow related to ppl but is this still based on ConcRT or is it something new?
    If ppl goes on the back burner, what is MS recommending going forward? Point in case, in vs 2012 or 2013, the std::thread was based on the ppl thread pool. In vs 2015 it is simply a 'beginthread...'. Why this change?
Thanks for any clarifications?

Sep 22, 2015 at 10:34 PM
  • On Windows in VS 2015 all the pplx:: classes and functions should forward to their PPL equivalent. There is a macro to disable that behavior if needed (CPPREST_FORCE_PPLX I believe).
  • In VS 2015, the parts of PPL used by pplx:: are no longer based on ConcRT. They now run directly off of the Windows Threadpool and we've found this to have significant performance improvements. The header pplxwin.h declares the low-level forwarders (locks, events, threading) in the C++ REST SDK.
Sorry for the overly-specific answers. I only really know the answers to your questions as they relate to Casablanca.