Does cpprest play nice with tbb?

Aug 24, 2015 at 8:36 PM
Edited Aug 24, 2015 at 8:39 PM
Im using cpprest and ppl in a realtime application. Recently I have started getting a hard to track down crash bug (after migrating from vc120 to vc140). Id like to replace ppl with (intel) tbb to see if that fixes it. But I'm worried that cpprest might be using ppl internally. So I might still end up with both ppl and tbb in the same application. Is that okay? Im worried that both the ppl and tbb schedulers will try to manage all system threads, and end up fighting eachother.

So, can I use cpprest and tbb in the same application?
Aug 25, 2015 at 12:17 AM
Hi Petke,

I did use Casablanca and tbb but only in Linux. As far as can say, there are no issues (maybe just some order of the include headers but I do not remember). I needed to use tbb to use the concurrent containers in Linux.

Initially Casablanca created their own version of ppl called pplx, cross platform. I think at this point on Windows there is just one ppl and on linux they use their pplx.

Aug 25, 2015 at 7:12 PM

We use cpprest, TBB and ppl/pplx together on Windows, Linux and OSX, and they don't fight with each other. The schedulers only manage the threads in their own thread pool. You still have to design your application properly to get the right concurrency when you need it, but they do all work.