Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/11/17 12:42:31 (7 years ago)
Author:
pkimmesw
Message:

#2665 Merged ExecExpandExpression and PushProgram due to performance reasons, Tested managed object pooling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Interpreter/PushInterpreter.cs

    r14744 r14745  
    77  using HeuristicLab.Core;
    88  using HeuristicLab.Problems.ProgramSynthesis.Push.Configuration;
    9   using HeuristicLab.Problems.ProgramSynthesis.Push.Data.Pool;
    109  using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions;
    1110  using HeuristicLab.Problems.ProgramSynthesis.Push.Parser;
     
    101100    public bool IsNameQuoteFlagSet { get; set; }
    102101
     102    public Task RunAsync(string code, bool stepwise = false, CancellationToken token = default(CancellationToken)) {
     103      var program = PushParser.Parse(code);
     104
     105      currentTask = RunAsync(program, stepwise, token);
     106
     107      return currentTask;
     108    }
     109    public async Task RunAsync(
     110      Expression expression,
     111      bool stepwise = false,
     112      CancellationToken token = default(CancellationToken)) {
     113      await Task.Run(() => Run(expression, stepwise), token);
     114    }
     115
    103116    public void Run(string code, bool stepwise = false) {
    104117      var program = PushParser.Parse(code);
     
    106119    }
    107120
    108     public Task RunAsync(string code, bool stepwise = false, CancellationToken token = default(CancellationToken)) {
    109       var program = PushParser.Parse(code);
    110 
    111       currentTask = RunAsync(program, stepwise, token);
    112 
    113       return currentTask;
    114     }
    115 
    116     public async Task RunAsync(
    117       PushProgram program,
    118       bool stepwise = false,
    119       CancellationToken token = default(CancellationToken)) {
    120       var expression = new ExecExpandExpression(program);
    121 
    122       await RunAsync(expression, stepwise, token);
    123     }
    124 
    125     public async Task RunAsync(
    126       Expression program,
    127       bool stepwise = false,
    128       CancellationToken token = default(CancellationToken)) {
    129       await Task.Run(() => Run(program, stepwise), token);
    130     }
    131 
    132     public void Run(PushProgram program, bool stepwise = false) {
    133       var expression = new ExecExpandExpression(program);
    134 
    135       Run(expression, stepwise);
    136     }
    137121
    138122    public void Run(Expression program, bool stepwise = false) {
Note: See TracChangeset for help on using the changeset viewer.