예제 #1
0
        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);
            }

        }
예제 #2
0
        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);
                }
            }
        }
예제 #3
0
파일: Program.cs 프로젝트: SantiMA10/2ndo
 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();
         }
     }
 }
예제 #4
0
파일: Program.cs 프로젝트: SantiMA10/2ndo
        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);
        }