Me han pedido que muestre los beneficios y las limitaciones de Parallelism y lo evalúe para su uso dentro de nuestra compañía. Principalmente somos un negocio orientado a los datos, y básicamente cargamos objetos de la base de datos, luego los ponemos a través de una lógica de negocios, los mostramos al usuario y luego los guardamos nuevamente en la base de datos. En mi opinión, no hay mucho en esa línea de tubería que se beneficiaría de correr en paralelo, pero siendo bastante nuevo en el concepto, podría estar completamente equivocado. ¿Habría alguna parte de esa tubería simple que se beneficiaría si se ejecutara en paralelo? ¿Y hay alguna guía sobre cómo implementar este estilo de programación?Paralelismo en .Net
Además, ¿hay alguna herramienta (preferiblemente incluida con VS2010) que muestre dónde se producen los cuellos de botella y podría mostrar visualmente lo que está sucediendo cuando hago clic en "Ir" en una aplicación simple que ejecuta una cantidad determinada de bucles (bucles matemáticos simples pre-escritos, por ejemplo, para i como entero = 1 a 1000 - hacer algunos cálculos) en paralelo, luego en serie?
Necesito ser capaz de mostrar la diferencia usando una herramienta de perfil decente.
Gracias @Joseph. Me pregunté si el Parallel.ForEach mejoraría incluso un simple bucle de objetos. He creado una aplicación que traza los resultados del tiempo en función de algunos bucles que he creado y ejecuto estos bucles en función de los núcleos para ejecutar y si se ejecutan en series paralelas y las muestran en un .NET 4.0 VS2010 Chart. Mi jefe, sin embargo, quiere que use una herramienta de generación de perfiles existente para mostrar lo que ocurre detrás de escena. ¿Hay alguna herramienta para mostrar esto de manera efectiva? – Ben
@Ben ANTS Profiler es una buena herramienta para verificar el rendimiento, pero es solo una de muchas. De hecho, hay preguntas sobre SO sobre herramientas de rendimiento que probablemente tendrían una lista más completa para usted. – Joseph