void TestCompilation() { var bs = new BrainStructure() { InputCount = 100, MemoryBitCount = 16, LevelSizes = new int[] { 50, 24 } }; Genome genome = new Genome(bs); genome.SetRandomValues(); var brain = new DigitalBrain(); brain.Load(genome); var output = new BitStorage(bs.OutputCount); var input = new BitStorage(bs.InputCount); input.SetRandomValues(); Console.WriteLine(input.GetView()); int count = 10000; var start = DateTime.Now; Parallel.For(0, count, i => { brain.Process(input, output); }); Console.WriteLine(output.GetView() + " " + count / (DateTime.Now - start).TotalSeconds); brain.Compile(); start = DateTime.Now; Parallel.For(0, count, i => { brain.Process(input, output); }); Console.WriteLine(output.GetView() + " " + count / (DateTime.Now - start).TotalSeconds); }