public static void Main(string[] args) { //SuperBasic Test char[] vector = new char[] { 'A', 'B', 'G', 'T', 'A' }; foreach (var x in vector) Console.Write(x); Console.WriteLine(); int threadLimit = 10; for (int i=0; i<threadLimit; i++) { Console.WriteLine("Ejecutandose con {0} hilos:", i); Master master = new Master(vector, 3); char[] toFound = new char[] { 'G', 'T' }; double results = master.ComputeModulus(toFound); Console.WriteLine("<<{0}>>(gen) en <<{1}>>(cromosoma): {2} aparaciĆ³n/es.", toFound.SpecialToString(), vector.SpecialToString(), results); } Console.WriteLine(); Console.WriteLine(); //Context-Switching threadLimit = 50; char[] vector2 = CreateRandomGeneticString(1000000); char[] gens = CreateRandomGeneticString(9); String[] lines = new String[threadLimit]; for (int i=1; i<= threadLimit; i++) { Console.WriteLine("Thread Number: {0}", i); Master master = new Master(vector2, i); DateTime before = DateTime.Now; double result = master.ComputeModulus(gens); DateTime after = DateTime.Now; double ticks = (after - before).Ticks; Console.WriteLine("Result: {0}, ticks={1}", result, ticks, result); lines[i-1] = prepareDataToCSV(i, result, ticks); GC.Collect(); GC.WaitForFullGCComplete(); } ExportToCSV(@"C:\Users\Esteban\Desktop\fichero.csv", lines); }
public void ExamplesTest() { // Example 1 char[] vector1 = new char[] { 'A', 'B', 'G', 'T', 'A' }; char[] toFound1 = new char[] { 'G', 'T'}; //Example 2 char[] vector2 = new char[] { 'A','B','G','A','B'}; char[] toFound2 = new char[] { 'A','B'}; //Example 3 char[] vector3 = new char[] { 'G','T','A','A','A','A'}; char[] toFound3 = new char[] { 'A','A','A'}; int threadLimit = 5; for (int i = 1; i <= threadLimit; i++) { //Example 1 Master master1 = new Master(vector1, i); Assert.AreEqual(master1.ComputeModulus(toFound1), 1); } threadLimit = 5; for (int i = 1; i <= threadLimit; i++) { //Example 2 Master master2 = new Master(vector2, i); Assert.AreEqual(master2.ComputeModulus(toFound2), 2); } //threadLimit = 6; //for (int i = 1; i <= threadLimit; i++) //{ // //Example 3 // Master master3 = new Master(vector3, i); // Assert.AreEqual(master3.ComputeModulus(toFound3), 3); //} }