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

Hola

  • Full Member
  • ***
  • Mensajes: 104
  • Karma: 0
Rendimiento del programa
« en: Noviembre 10, 2017, 03:19:17 pm »

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.

JaViS

  • Global Moderator
  • *****
  • Mensajes: 1252
  • Karma: 26
    • Anarkade
Re:Rendimiento del programa
« Respuesta #1 en: Noviembre 10, 2017, 03:25:51 pm »
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.

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2764
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:Rendimiento del programa
« Respuesta #2 en: Noviembre 10, 2017, 07:24:22 pm »
si no los invocas y no los utilizas, no debería dar problemas



Hola

  • Full Member
  • ***
  • Mensajes: 104
  • Karma: 0
Re:Rendimiento del programa
« Respuesta #3 en: Noviembre 11, 2017, 12:13:26 pm »
Claro, algo así pensé. De acuerdo, gracias por las respuestas.

Arcontus

  • Sr. Member
  • ****
  • Mensajes: 278
  • Karma: 9
Re:Rendimiento del programa
« Respuesta #4 en: Noviembre 14, 2017, 09: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!

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6273
  • Karma: 160
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Rendimiento del programa
« Respuesta #5 en: Noviembre 16, 2017, 12:20:27 am »
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)

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12758
  • Karma: 375
Re:Rendimiento del programa
« Respuesta #6 en: Noviembre 16, 2017, 06:14:11 pm »
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

panreyes

  • Administrator
  • *****
  • Mensajes: 2154
  • Karma: 74
    • panreyes.com
Re:Rendimiento del programa
« Respuesta #7 en: Noviembre 16, 2017, 06:47:44 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"

Hola

  • Full Member
  • ***
  • Mensajes: 104
  • Karma: 0
Re:Rendimiento del programa
« Respuesta #8 en: Noviembre 16, 2017, 08: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?

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6273
  • Karma: 160
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Rendimiento del programa
« Respuesta #9 en: Noviembre 17, 2017, 12:12:46 am »
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)

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12758
  • Karma: 375
Re:Rendimiento del programa
« Respuesta #10 en: Noviembre 17, 2017, 04:31:37 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"

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

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12758
  • Karma: 375
Re:Rendimiento del programa
« Respuesta #11 en: Noviembre 17, 2017, 04:44:43 am »
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

Hola

  • Full Member
  • ***
  • Mensajes: 104
  • Karma: 0
Re:Rendimiento del programa
« Respuesta #12 en: Noviembre 17, 2017, 01:55:02 pm »
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..?

SplinterGU

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

Hola

  • Full Member
  • ***
  • Mensajes: 104
  • Karma: 0
Re:Rendimiento del programa
« Respuesta #14 en: Noviembre 17, 2017, 04:16:06 pm »
Bien grax