Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/08/16 12:04:25 (8 years ago)
Author:
pkimmesw
Message:

#2665 Set .NET version to 4.5, C# version to 5.0, Added expression templates and factory

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/PushGP/HeuristicLab.Algorithms.PushGP/HeuristicLab.Algorithms.PushGP.Cli/Program.cs

    r14323 r14328  
    1212        static void Main(string[] args)
    1313        {
    14             //Stepwise().Wait();
    15             PerformanceTest();
     14            Stepwise().Wait();
     15            //PerformanceTestInterpreter();
    1616            //PerformanceTestCodeGenerator();
    1717
     
    2222        static async Task Stepwise()
    2323        {
    24             var program = PushGPInterpreter.Encode("( 2 3 INTEGER.* 4.1 5.2 FLOAT.+ TRUE FALSE BOOLEAN.OR )");
     24            var program = PushGPInterpreter.Encode(@"( CODE.QUOTE ( INTEGER.POP 1 )
     25                                                       CODE.QUOTE ( CODE.DUP INTEGER.DUP 1 INTEGER.- CODE.DO INTEGER.* )
     26                                                       INTEGER.DUP 2 INTEGER.< CODE.IF )");
    2527            var interpreter = new PushGPInterpreter();
    2628
    27             var task = interpreter.InterpreteAsync(program);
    28             await interpreter.PauseAsync();
     29            interpreter.IntegerStack.Push(5);
     30            interpreter.InterpretAsync(program, true).Wait();
    2931
    3032            while (!interpreter.IsCompleted)
     
    4951        }
    5052
    51         static void PerformanceTest()
     53        static void PerformanceTestInterpreter()
    5254        {
    5355            var program = PushGPInterpreter.Encode("( 5 INTEGER.DUP INTEGER.+ )");
     
    5860            for (var i = 0; i < 20000000; i++)
    5961            {
    60                 interpreter.Interprete(program);
    61                 interpreter.Reset();
     62                interpreter.Interpret(program);
     63                interpreter.Clear();
    6264            }
    6365            sw.Stop();
     
    7173
    7274            sw.Start();
    73             var expressions = CodeGenerator.RandomCode(10000000);
     75            var expressions = CodeGenerator.RandomCode(3000000);
    7476            sw.Stop();
    7577
    76             Console.WriteLine($"Count: {expressions.Count()}");
    77             Console.WriteLine(sw.Elapsed);
     78            Console.WriteLine(string.Format("Generated {0} in {1}", expressions.Count(), sw.Elapsed));
    7879        }
    7980    }
Note: See TracChangeset for help on using the changeset viewer.