Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/09/11 10:45:50 (13 years ago)
Author:
gkronber
Message:

#1557 implemented parallel evaluation in analyzers using ParallelEnumerable extension methods.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification/3.4/SingleObjective/SymbolicClassificationSingleObjectiveOverfittingAnalyzer.cs

    r5907 r6728  
    7676    public override IOperation Apply() {
    7777      double[] trainingQuality = QualityParameter.ActualValue.Select(x => x.Value).ToArray();
     78      var problemData = ProblemDataParameter.ActualValue;
     79      var evaluator = EvaluatorParameter.ActualValue;
    7880      // evaluate on validation partition
    7981      IEnumerable<int> rows = GenerateRowsToEvaluate();
    8082      if (!rows.Any()) return base.Apply();
    81 
    82       IExecutionContext childContext = (IExecutionContext)ExecutionContext.CreateChildOperation(EvaluatorParameter.ActualValue);
    83       double[] validationQuality = (from tree in SymbolicExpressionTree
    84                                     select EvaluatorParameter.ActualValue.Evaluate(childContext, tree, ProblemDataParameter.ActualValue, rows))
    85                                    .ToArray();
     83      IExecutionContext childContext = (IExecutionContext)ExecutionContext.CreateChildOperation(evaluator);
     84      double[] validationQuality = SymbolicExpressionTree
     85        .AsParallel()
     86        .Select(t => evaluator.Evaluate(childContext, t, problemData, rows))
     87        .ToArray();
    8688      double r = 0.0;
    8789      try {
Note: See TracChangeset for help on using the changeset viewer.