Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Compilar a P-Code?

Estas en el tema de Compilar a P-Code? en el foro de Visual Basic clásico en Foros del Web. Bueno, bueno. He notado que VB (entre sus opciones de compilación), tiene una que se llama "Compilar a P-Code". Tambien me percaté de que si ...
  #1 (permalink)  
Antiguo 22/07/2006, 13:24
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Pregunta Compilar a P-Code?

Bueno, bueno. He notado que VB (entre sus opciones de compilación), tiene una que se llama "Compilar a P-Code". Tambien me percaté de que si se genera el proyecto con dicha opción, el archivo pesa menos.

¿Alguién me podría decir que diferencia existe entre compilar a código nativo y compilar a P-Code?. De antemano gracias.
__________________
Nunca seas sabio en tu propia opinión.
  #2 (permalink)  
Antiguo 22/07/2006, 21:20
Avatar de [EX3]  
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 18 años, 1 mes
Puntos: 1
En la MSDN lo exponia:
Cita:
Aplicaciones compiladas frente a interpretadas


De forma predeterminada, las aplicaciones creadas en Visual Basic se compilan como ejecutables interpretados o en p-code. En tiempo de ejecución, las instrucciones de los ejecutables se traducen o interpretan mediante una biblioteca de vínculos dinámicos (DLL) de tiempo de ejecución. La Edición Profesional y la Edición Empresarial de Visual Basic incluyen la opción de compilar un archivo .exe en código nativo. En muchos casos, compilar a código nativo puede aportar aumentos substanciales de velocidad sobre las versiones interpretadas de la misma aplicación; sin embargo, no siempre ocurre así. Las siguientes son algunas recomendaciones generales relacionadas con la compilación a código nativo.
  • El código que realiza muchas operaciones primitivas sobre variables con tipo que no son cadenas ofrece una mejor relación de código nativo generado en comparación con las operaciones de p-code. Por tanto, los cálculos financieros complejos o la generación de fractales se beneficiarán del código nativo.
  • Los programas de cálculo intensivo o los programas que manejan muchos bits y bytes dentro de estructuras de datos locales ganarán bastante con el código nativo.
  • En muchos programas, especialmente aquellos que hacen muchas llamadas a la API de Windows, llamadas a los métodos COM y manipulación de cadenas, el código nativo no será mucho más rápido que el p-code.
  • Las aplicaciones que consisten principalmente de funciones de la biblioteca de ejecución de Visual Basic para aplicaciones no obtendrán una gran diferencia en el código nativo, ya que el código de la biblioteca de ejecución de Visual Basic para aplicaciones ya está muy optimizado.
  • El código que consiste en muchas llamadas a subrutinas relativas a procedimientos en línea tampoco parecerá mucho más rápido con código nativo. Esto se debe a que el trabajo de establecer la pila, inicializar las variables y liberar todo al salir lleva tanto tiempo con el motor de p-code como con el código nativo.
Observe que las llamadas a los objetos, a los archivos DLL o a las funciones de ejecución de Visual Basic para aplicaciones no aprovechan las ventajas del código nativo. Esto se debe a que se pasa muy poco tiempo ejecutando código: la mayor parte del tiempo (normalmente entre el 90% y el 95%) se pasa dentro de los formularios, los objetos de datos, los archivos .dll de Windows o la ejecución de Visual Basic para aplicaciones, que incluye el tratamiento de cadenas y variables Variant incorporadas.
En las pruebas reales, las aplicaciones cliente pasan aproximadamente el 5% del tiempo total de ejecución en el p-code. Por tanto, si el código nativo es instantáneo, el uso del código nativo en estos programas proporcionará como máximo una mejora del 5% en el rendimiento.
Lo que el código nativo ofrece a los programadores es la posibilidad de escribir con Visual Basic partes del código o algoritmos de cálculo intensivo que no eran posibles anteriormente por razones de rendimiento. Al permitir que estos "retazos" se ejecuten con mucha más rapidez, también se puede aumentar el tiempo de respuesta de ciertas partes de una aplicación, lo que mejora el rendimiento perceptible de la aplicación en su conjunto.
Espero que te haya aclarado un poco la duda (digo esto por que la MSDN no es que sea muy clarificadora en muchos casos que digamos jeje)

Salu2...
__________________
Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX

Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra.

  #3 (permalink)  
Antiguo 23/07/2006, 09:54
Avatar de Jad-Neo  
Fecha de Ingreso: octubre-2004
Mensajes: 344
Antigüedad: 19 años, 6 meses
Puntos: 0
Gracias EX3, aunque algo confuso pero si le entendí.
__________________
Nunca seas sabio en tu propia opinión.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:17.