J'ai la requête LINQ suivanteparalléliser requête LINQ avec Let, Sélectionnez Mots-clés
var meshesList= (
from element in elementCoord.Elements
let coordinateList = elementCoord.Coordinates
select new Plane3D
{
Pt1 = coordinateList[element.NodeList[0]], Pt2 = coordinateList[element.NodeList[1]], Pt3 = coordinateList[element.NodeList[2]]
}
into meshPlan
let algo = new AlgoProvider()
where WellBehaveMesh(meshPlan)
select algo.ComputeVolume(meshPlan, platformPlan)).ToList();
Le from
jusqu'à ce que into meshPlan
sélectionnera une liste de meshPlan
s. Et c'est une partie dont je pense que la parallélisation peut profiter.
Une idée sur la façon d'utiliser PLINQ pour paralléliser l'opération ci-dessus?
J'ai essayé l'opération suivante:
var meshesList= (
(from element in elementCoord.Elements
let coordinateList = elementCoord.Coordinates
select new Plane3D
{
Pt1 = coordinateList[element.NodeList[0]], Pt2 = coordinateList[element.NodeList[1]], Pt3 = coordinateList[element.NodeList[2]]
}
into meshPlan).AsParallel() //cannot compile
let algo = new AlgoProvider()
where WellBehaveMesh(meshPlan)
select algo.ComputeVolume(meshPlan, platformPlan)).ToList();
mais malheureusement il ne peut pas compiler.