¿Ejecución paralela de solicitudes http_client en PPL Casablanca?

Antecedentes: I have a simple C++11 application that uses wxWidgets wxListView to display customer with their street address. The goal is to get the GPS coordinates from the address (geocoding) via web service that implements the service. I am able to get the web service response (somehow, to be improved) for a single address via PPL Casablanca -- see the code at mi pregunta anterior.

La pregunta: Does it make sense with PPL Casablanca to launch more than a single asynchronous request in parallel? Having more than one processor core, would it speed up getting the results? (The web service is probably build to process many requests in parallel.) How can I write it using the PPL Casablanca?

I am good in C++, but I am just learning the C++11 features, including lambdas. What makes the biggest difference for me is the approach--continuations, async tasks, etc.--and how to use it correctly and efficiently.

preguntado el 28 de mayo de 14 a las 11:05

"Does it make sense with PPL Casablanca to launch more than a single asynchronous request in parallel?" Yes, most definitely! That's half the point of it being asynchronous in the first place. "Having more than one processor core, would it speed up getting the results?" A web request is IO-bound, not CPU-bound, so the number of cores is irrelevant. But bandwidth allowing, performing requests in parallel vs. serially is obviously a win. -

@ildjarn: Right. As the web service URL probably maps to more physical machines or the hardware could be special, the speed up can probably be caused by parallel processing at the server(s) side. Please, can you formulate it as the answer? Can you point me to some example that shows how to do the parallel requests in Casablanca? -

I've not used Casablanca, only read about it, so I can't give an example – that's why I posted a comment, not an answer. :-] -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.