Visual Basic - Programa corre más lento una vez compilado

Life is soft - evento anual de software empresarial
   
Vista:

Programa corre más lento una vez compilado

Publicado por Marcelo (5 intervenciones) el 10/10/2008 20:01:40
Hola a todos.

Quisiera saber cómo hacer para igualar la velocidad de ejecución de mi programa, tanto compilado como dentro del entorno de desarrollo?

Resulta que el mismo corre de manera excelente, para mi gusto, dentro del entorno de desarrollo, pero una vez compilado (lo hice modificando parámetros varias veces) la ejecución es tan lenta que me desanima a mostrarlo.

Estoy trabajando con gráficos para mostrar unas cuantas líneas (unas 200 en realidad) en un picturebox para moverlas, cambiar punto de vista, cambniar de tamaño, etc.

Gracias de antemano,

Marcelo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Programa corre más lento una vez compilado

Publicado por igor (633 intervenciones) el 10/10/2008 20:51:03
Que tal si nos indicas que opciones de compilación tienes y así poder "adivinar" cual has modificado que te provoca ese indeseado efecto?

Ahhh, y para otra vez no toques lo que no sabes, o por lo menos apunta en un papel lo que estás modificando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programa corre más lento una vez compilado

Publicado por Marcelo (5 intervenciones) el 11/10/2008 02:35:50
Gracias por responder, igor!

Siempre compilé los proyectos de la misma manera, es decir, de acuerdo a la configuración por defecto del compilador. Sin embargo, ésta es la primera vez que me pasa que un programa corre más lento una vez compilado.

A los distintos y muchos parámetros de compilación los toqué a partir de ese momento (no antes), cuando no sabía cómo mejorar la velocidad al correr el programa, y por la sugerencia de un usuario de otro foro.

Pues bien, creí haberlos modificado a todos y en todas las combinaciones posibles... pero, por no saber bien de que se trata no toqué el primer option button, el de compilar a P-code. Finalmente lo hice y el programa corre aparentemente a la velocidad esperada.

Y aún sigo sin conocer a fondo "Compilar a P-code"... :(

De todos modos, nuevamente gracias por la respuesta, igor!

Saludos,

Marcelo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programa corre más lento una vez compilado

Publicado por igor (633 intervenciones) el 11/10/2008 09:09:38
No te preocupes Marcelo, yo llevo mucho en esto y tampoco conozco a fondo "Compilar a P-code".

Te diré que generalmente no hace falta tocar las opciones de compilación, y que tienen que ver con el tipo de procesador a utilizar y la forma en que se traduce el código fuente que escribimos en código máquina con instrucciones de procesador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programa corre más lento una vez compilado

Publicado por Diego (211 intervenciones) el 11/10/2008 21:00:36
Pero.....P-code no quiere decir "Pseudo Codigo"?. O sea algo asi como lenguaje interpretado ?

En teoria P-code deberia se mas lento que compilar a codigo nativo!!!!

Con VB me pasa como con las mujeres. Cuanto mas lo trato menos lo conozco.

Bueno Bill Gates sabrá
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programa corre más lento una vez compilado

Publicado por igor (633 intervenciones) el 11/10/2008 22:12:11
Tengo que admitir que no tenía mucha idea, amigo Diego.

Investigando un poco, te diré que efectivamente P-Code es un pseudo código interpretado por una dll de VB, supongo que msvbvm60.dll ya que es necesaria en todos los programas. Aquí hay un enlace que comenta un poco sobre el tema.

http://www.forosdelweb.com/f69/compilar-p-code-411439/

Lo que indican es que si tu programa se basa en llamadas a código externo como API o dlls o por ejemplo motor de DB, no tendrá mucha diferencia compilar en P-Code o nativo. Algo que tiene sentido porque el código externo ya esta compilado en nativo y el propio no será muy extenso.

Compilar a código nativo siempre será mejor (aunque NET no lo haga), pero aquí también hay varias posibilidades, que nunca he investigado, pero que tienen que ver con las instrucciónes que incorporan los diferentes procesadores 80x86, pentium y demás.

Cada nuevo procesador incorpora nuevas posibilidades, y un programa compilado expresamente para PIV será más pequeño y rápido, pero solo se podrá ejecutar en un PIV porque un 486 no dispone de las instrucciones y registros que utiliza dicho código.

En definitiva, el que quiera optimizar código a través de una buena compilación tendrá que informarse de cosas como el "supuestamente jubilado" ensamblador, o los diferentes procesadores y sus prestaciones.

Por lo que respecta a Marcelo, yo creo que el problema con un código lento el 99% de las veces es por un algoritmo poco eficiente. Para que nos entienda todo el mundo, que el código que hemos escrito hace las cosas de manera poco adecuada y lenta, y que habrá que buscar hacer las cosas de otra manera para que tarde menos.

Para ello lo primero es determinar dónde se produce la lentitud del programa. Luego habrá que buscar una solución más rápida y eficiente, algo dificil y a veces imposible.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programa corre más lento una vez compilado

Publicado por Diego (211 intervenciones) el 13/10/2008 01:46:48
Igor, no digo nada porque luego van diciendo por ahi que somos amantes, pero todos hemos aprendido algo con esta explicacion.

Espero que al compañero Marcelo tambien.

Larga vida al foro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar