Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/10/17 00:27:31 (7 years ago)
Author:
pkimmesw
Message:

#2665 LexicaseSelector, Performance improvements, UI Fixes, Debugger only shows used stacks, fixed Debugger stepping, Added vector expressions, ERCOptions,

File:
1 edited

Legend:

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

    r14777 r14834  
    1414    public readonly ManagedPoolProvider<PooledList<Expression>> ExpressionListPoolProvider;
    1515
    16 
    1716    public PushInterpreterPool(IReadOnlyPushConfiguration config = null)
    1817      : this(Environment.ProcessorCount * 2, 1024, null, config) {
    1918    }
    2019
    21     public PushInterpreterPool(int size, int pushProgramPoolPartitionSize, int? maxPartitionCount = null, IReadOnlyPushConfiguration config = null) {
     20    public PushInterpreterPool(int size, int poolPartitionSize, int? maxPartitionCount = null, IReadOnlyPushConfiguration config = null) {
    2221      PushGpConfiguration = config ?? new PushConfiguration();
    2322
    24       PushProgramPoolProvider = new ManagedPoolProvider<PushProgram>(pushProgramPoolPartitionSize, () => new PushProgram(), maxPartitionCount);
    25       LoopStatePoolProvider = new ManagedPoolProvider<LoopState>(pushProgramPoolPartitionSize, () => new LoopState(), maxPartitionCount);
    26       ExpressionListPoolProvider = new ManagedPoolProvider<PooledList<Expression>>(pushProgramPoolPartitionSize * 2, () => new PooledList<Expression>(), maxPartitionCount);
     23      PushProgramPoolProvider = new ManagedPoolProvider<PushProgram>(poolPartitionSize, () => new PushProgram(), maxPartitionCount);
     24      LoopStatePoolProvider = new ManagedPoolProvider<LoopState>(poolPartitionSize, () => new LoopState(), maxPartitionCount);
     25      ExpressionListPoolProvider = new ManagedPoolProvider<PooledList<Expression>>(poolPartitionSize * 2, () => new PooledList<Expression>(), maxPartitionCount);
    2726
    2827      pool = new ObjectPool<PooledPushInterpreter>(() => {
     
    3534
    3635    public PooledPushInterpreter Create(IRandom random = null) {
    37       var interpreter = this.pool.Allocate();
    38       interpreter.Random = random ?? new FastRandom();
     36      var interpreter = pool.Allocate();
     37      interpreter.Random = random ?? new MersenneTwister();
    3938
    4039      return interpreter;
     
    4241
    4342    public void Free(PooledPushInterpreter interpreter) {
    44       this.pool.Free(interpreter);
     43      pool.Free(interpreter);
    4544    }
    4645  }
Note: See TracChangeset for help on using the changeset viewer.