У меня есть следующий запрос LINQ
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();
. От from
до into meshPlan
будет выбран список meshPlan
с.И это та часть, которой, я считаю, может помочь параллелизация.
Есть идеи, как использовать PLINQ для распараллеливания вышеуказанной операции?
Я пробовал следующую операцию:
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();
но, к сожалению, она не может скомпилироваться.