Autor Tema: Rendimiento del programa  (Leído 233 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Hola

  • Jr. Member
  • **
  • Mensajes: 93
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Rendimiento del programa
« en: Noviembre 10, 2017, 07:19:17 am »

Hola de nuevo, esta vez traigo una pregunta en cuanto a rendimiento se refiere. Me explico, lo que quiero saber es si el hecho de armar muchos procesos en el código (no hablo de ejecutarlos o invocarlos, simplemente escribirlos) influye en el rendimiento del programa en si?


Ejemplo, escribo en mi codigo:


PROCESS nombreproceso()
BEGIN
....
//sentencias, etc


...


END


Y ese proceso lo tengo 50 veces escrito en mi código con diferente nombre. Nunca los invoco, no los utilizo, simplemente los tengo ahí escritos. Realmente no quiero borrar esos procesos así que.. Influye en el rendimiento del programa?


Gracias de antemano.

Conectado JaViS

  • Global Moderator
  • Hero Member
  • *****
  • Mensajes: 1142
  • Karma: 19
  • Sexo: Masculino
    • Ver Perfil
    • Anarkade
Re:Rendimiento del programa
« Respuesta #1 en: Noviembre 10, 2017, 07:25:51 am »
no deberían influir significativamente. Seguro, el programa quizas requiera de mas memoria para ejecutarse, pero la diferencia va a ser minima.
Working on Anarkade. A couch multiplayer 2D shooter.

Conectado Futu-block

  • Hero Member
  • *****
  • Mensajes: 2624
  • Karma: 33
  • Sexo: Masculino
  • Superviviente marciano
    • Ver Perfil
    • futublock
Re:Rendimiento del programa
« Respuesta #2 en: Noviembre 10, 2017, 11:24:22 am »
si no los invocas y no los utilizas, no debería dar problemas



Desconectado Hola

  • Jr. Member
  • **
  • Mensajes: 93
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:Rendimiento del programa
« Respuesta #3 en: Noviembre 11, 2017, 04:13:26 am »
Claro, algo así pensé. De acuerdo, gracias por las respuestas.

Desconectado Arcontus

  • Full Member
  • ***
  • Mensajes: 177
  • Karma: 6
    • Ver Perfil
Re:Rendimiento del programa
« Respuesta #4 en: Noviembre 14, 2017, 01:38:39 pm »
+1!

El programa resultante ocupara más memoria, pero hoy en día no va a ser un problema. Si no invocas los procesos, no gasta CPU tener las funciones precargadas en memoria de ejecución.

Un saludo!

Desconectado Drumpi

  • Hero Member
  • *****
  • Mensajes: 6148
  • Karma: 157
  • Sexo: Masculino
  • Odio el periodo "entre proyectos"
    • Ver Perfil
    • La web de Drumpi
Re:Rendimiento del programa
« Respuesta #5 en: Noviembre 15, 2017, 04:20:27 pm »
Yo te recomendaría que intentaras que esos procesos desaparecieran del código. Juntalos, bórralos, o lo que sea, pero a modo de ejercicio mental, intenta simplificar el código.

No digo que lo hagas, pero lo recomiendo para que vayas cogiendo buenos hábitos a la hora de programar, que a la larga lo vas a agradecer. Puede parecer una tontería, pero...
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12517
  • Karma: 369
  • Sexo: Masculino
    • Ver Perfil
Re:Rendimiento del programa
« Respuesta #6 en: Noviembre 16, 2017, 10:14:11 am »
ahora mismo no recuerdo si en runtime hay, pero se me pudiera ocurrir alguna funcion que busque en la lista de tipo de procesos, eso quizas requeriria chequeos adicionales si hace esa lista mas larga... pero la verdad que no recuerdo si hay de eso en runtime...

seria bueno que borres esas funciones o las metas en un archivo tipo extras.prg o extras.inc e incluyas ese archivo cuando lo necesites... y si no lo usas pues no lo incluyes...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Conectado panreyes

  • Administrator
  • Hero Member
  • *****
  • Mensajes: 2042
  • Karma: 64
  • Sexo: Masculino
    • Ver Perfil
    • panreyes.com
Re:Rendimiento del programa
« Respuesta #7 en: Noviembre 16, 2017, 10:47:44 am »
La verdad es que a la función let_me_alone le falta un parámetro que, dependiendo de una local, mate a ciertos procesos y a otros no.

Yo tengo hecho algo parecido en mis librerías, evita matar procesos que deben permanecer en cualquier caso con una local "unkillable"

Desconectado Hola

  • Jr. Member
  • **
  • Mensajes: 93
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:Rendimiento del programa
« Respuesta #8 en: Noviembre 16, 2017, 12:31:46 pm »
Uhm claro, entiendo.. parece que sí influye en el rendimiento. De todas formas el ejemplo que puse fue nomas de supositorio, como para explicar la cosa. Una pregunta aparte para no hacer otro tema.., respecto a ELSEIF, hay alguna diferencia entre ELSEIF, ELSIF y ELIF? o es todo lo mismo con diferente nombre?

Desconectado Drumpi

  • Hero Member
  • *****
  • Mensajes: 6148
  • Karma: 157
  • Sexo: Masculino
  • Odio el periodo "entre proyectos"
    • Ver Perfil
    • La web de Drumpi
Re:Rendimiento del programa
« Respuesta #9 en: Noviembre 16, 2017, 04:12:46 pm »
Panreyes, creo que eso llegó a implementarlo Splinter hace tiempo, mucho tiempo... me atrevería casi a decir en tiempos de Fenix o.O Me suena que metió una variable "máscara" o algo así entre las locales, o entre las reserved.
Pero vamos, que eso se puede emular si añades una local a todos los procesos, llámalo "máscara de interrupción", y antes de hacerle signal al proceso, comprueba si el valor está por encima o por debajo del nivel de prioridad que quieres permitir alterar.
Es como el tema de "restaurar" el estado anterior del signal: me suena que se pidió, pero ahí Splinter no le vio uso.

Respecto a elsif, me parece que todos son alias de lo mismo.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12517
  • Karma: 369
  • Sexo: Masculino
    • Ver Perfil
Re:Rendimiento del programa
« Respuesta #10 en: Noviembre 16, 2017, 08:31:37 pm »
La verdad es que a la función let_me_alone le falta un parámetro que, dependiendo de una local, mate a ciertos procesos y a otros no.

Yo tengo hecho algo parecido en mis librerías, evita matar procesos que deben permanecer en cualquier caso con una local "unkillable"

ya esta eso, hace mucho... los signal, sig_ign, y demas...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12517
  • Karma: 369
  • Sexo: Masculino
    • Ver Perfil
Re:Rendimiento del programa
« Respuesta #11 en: Noviembre 16, 2017, 08:44:43 pm »
Uhm claro, entiendo.. parece que sí influye en el rendimiento. De todas formas el ejemplo que puse fue nomas de supositorio, como para explicar la cosa. Una pregunta aparte para no hacer otro tema.., respecto a ELSEIF, hay alguna diferencia entre ELSEIF, ELSIF y ELIF? o es todo lo mismo con diferente nombre?

perdon si me exprese mal, no dije que afecta, dije que quizas... que no me acordaba...

acabo de revisar y no encuentro que afecte, asi que perdon por el ruido...

elseif, elif, etc... son alias... como dijo drumpi
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Desconectado Hola

  • Jr. Member
  • **
  • Mensajes: 93
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:Rendimiento del programa
« Respuesta #12 en: Noviembre 17, 2017, 05:55:02 am »
Oh bien gracias. En efecto, Splinter, cuando dices "no encuentro que afecte" te refieres al hecho de que es lo mismo que yo escriba los 50 procesos sin usar en el código a que no los tenga ahí? No hace diferencia digamos..?

Conectado SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12517
  • Karma: 369
  • Sexo: Masculino
    • Ver Perfil
Re:Rendimiento del programa
« Respuesta #13 en: Noviembre 17, 2017, 06:46:23 am »
claro, no la hace, al menos no encontre nada en runtime (tiempo de ejecucion)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Desconectado Hola

  • Jr. Member
  • **
  • Mensajes: 93
  • Karma: 0
  • Sexo: Masculino
    • Ver Perfil
Re:Rendimiento del programa
« Respuesta #14 en: Noviembre 17, 2017, 08:16:06 am »
Bien grax