Cita:
Iniciado por angeljgs esto tarda unos 15 segundos en ejecutarse ( en el programa entero unos 2 minutos y medio), pero al quitar el trozo de codigo ultimo, tarda 1 segundo por que?
Fíjate en que si quitas el fragmento que indicas, dejas de comprobar el valor de
vale. Esta variable pasa a usarse únicamente para recibir asignaciones.
La otra variable utilizada en el código es
vj1 que casualmente le sucede lo mismo que a
vale.
Lo que sucede en este caso es que el compilador hace sus optimizaciones y se carga todo el bucle porque, sencillamente, no hace nada productivo.
Prueba a compilar el programa en modo debug, sin optimizaciones, y verás como la diferencia entre una versión y otra es bastante más reducida.
Un saludo