public void TestContarGen() { char[] ADN = new char[] { 'A', 'C', 'T', 'G', 'A', 'A', 'C', 'C', 'T', 'G', 'G', 'A' }; char[] gen = new char[] { 'A', 'C' }; Master monohilo = new Master(ADN, gen, 1); int resultadoMonohilo = monohilo.CalcularNumeroGenes(); for (int numeroHilos = 1; numeroHilos <= 10; numeroHilos++) { Master master = new Master(ADN, gen, numeroHilos); int resultado = master.CalcularNumeroGenes(); Assert.AreEqual(resultado, resultadoMonohilo); } }
public void TestContarGenAleatorio() { for (int i = 100; i < 1000000; i *= 2) { char[] ADN = ProgramModuloVector.CrearVectorAleatorio(i); char[] gen = ProgramModuloVector.CrearVectorAleatorio(10); Master monohilo = new Master(ADN, gen, 1); int resultadoMonohilo = monohilo.CalcularNumeroGenes(); for (int numeroHilos = 1; numeroHilos <= 10; numeroHilos++) { Master master = new Master(ADN, gen, numeroHilos); int resultado = master.CalcularNumeroGenes(); Assert.AreEqual(resultado, resultadoMonohilo); } } }
static void Main(string[] args) { const int numeroMaximoHilos = 50; char[] ADN = ProgramModuloVector.CrearVectorAleatorio(1000000); char[] gen = ProgramModuloVector.CrearVectorAleatorio(10); MostrarLinea(Console.Out, "Numero de Hilos", "Ticks", "Resultado"); using (System.IO.StreamWriter file = new System.IO.StreamWriter("./datos.csv")) { for (int numeroHilos = 1; numeroHilos <= numeroMaximoHilos; numeroHilos++) { Master master = new Master(ADN, gen, numeroHilos); DateTime antes = DateTime.Now; double resultado = master.CalcularNumeroGenes(); DateTime despues = DateTime.Now; MostrarLinea(Console.Out, numeroHilos, (despues - antes).Ticks, resultado); MostrarLinea(file, numeroHilos, (despues - antes).Ticks, resultado); GC.Collect(); GC.WaitForFullGCComplete(); } } }
static void Main(string[] args) { char[] ADN = CrearVectorAleatorio(1000000); char[] gen = CrearVectorAleatorio(10); Master master = new Master(ADN, gen, 1); DateTime antes = DateTime.Now; double resultado = master.CalcularNumeroGenes(); DateTime despues = DateTime.Now; Console.WriteLine("Resultado del cálculo con un hilo: {0:N2}.", resultado); Console.WriteLine("Tiempo transcurrido: {0:N0} ticks de reloj.", (despues - antes).Ticks ); master = new Master(ADN, gen, 4); antes = DateTime.Now; resultado = master.CalcularNumeroGenes(); despues = DateTime.Now; Console.WriteLine("Resultado del cálculo con cuatro hilos: {0:N2}.", resultado); Console.WriteLine("Tiempo transcurrido: {0:N0} ticks de reloj.", (despues - antes).Ticks); }