Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/12/17 13:16:56 (7 years ago)
Author:
pkimmesw
Message:

#2665 fixed enable/disable issue for single instruction in selection view

File:
1 edited

Legend:

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

    r14744 r14747  
    11namespace HeuristicLab.Problems.ProgramSynthesis.Push.Interpreter {
    22  using System;
    3 
    4   using HeuristicLab.Problems.ProgramSynthesis.Push.Data.Pool;
    53  using HeuristicLab.Core;
    64  using HeuristicLab.Problems.ProgramSynthesis.Push.Configuration;
     5  using HeuristicLab.Problems.ProgramSynthesis.Push.Data.Pool;
     6  using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions;
    77  using HeuristicLab.Random;
    88
    99  public class PushInterpreterPool {
    1010    private readonly ObjectPool<PooledPushInterpreter> pool;
     11    private ManagedPoolProvider<PushProgram> pushProgramPoolProvider;
    1112
    1213    public PushInterpreterPool(PushConfiguration config = null)
    13       : this(Environment.ProcessorCount * 2, config) {
     14      : this(Environment.ProcessorCount * 2, 1024, null, config) {
    1415    }
    1516
    16     public PushInterpreterPool(int size, PushConfiguration config = null) {
    17       this.PushGpConfiguration = config ?? new PushConfiguration();
     17    public PushInterpreterPool(int size, int pushProgramPoolPartitionSize, int? maxPartitionCount = null, PushConfiguration config = null) {
     18      PushGpConfiguration = config ?? new PushConfiguration();
    1819
    19       this.pool = new ObjectPool<PooledPushInterpreter>(() => new PooledPushInterpreter(this, this.PushGpConfiguration), size);
     20      pushProgramPoolProvider = new ManagedPoolProvider<PushProgram>(pushProgramPoolPartitionSize, maxPartitionCount);
     21      pushProgramPoolProvider.InitDummyPartition(() => new PushProgram());
     22
     23      pool = new ObjectPool<PooledPushInterpreter>(() => new PooledPushInterpreter(this, PushGpConfiguration, pushProgramPoolProvider), size);
    2024    }
    2125
Note: See TracChangeset for help on using the changeset viewer.