Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Benchmark de Gambas. Código Python, Interprete
#1

Buenas!.

Estoy viendo algunas cosas relacionadas con JIT y su uso en Gambas.

Creo que esto lo he hablado en su día.

Benchmark

Si tenéis las fuentes de gambas.
Cita:Hay un script llamado benchmark.gbs en el directorio benchmark. Sólo tiene que abrir un terminal, cambie a ese directorio, y ejecutarlo con el interprete gambas (gbs3).

Uno de los problemas que se puede tener al ejecutar la parte de Python. Es que busca el interprete por defecto que tengas instalado.
Probablemente la versión 3 "y" los scripts del directorio solo funcionan con la versión 2.

Se puede abrir el script y sustituir todas las líneas que contengan la palabra python por python2.
Existen cinco coincidencias.

De esta forma logro ver la comparación y hacer el test. Os muestro el test en un AMD Ryzen 5 5600. Este tiene 6 núcleos y 12 hilos. ( Ya antiguo ).

[Imagen: KqEwRXG.png]
Lo bueno de Python no es su rapidez. Big Grin
Sorprende la velocidad de Gambas. Otra cosa es que sepa yo usar JIT y cuando usarlo.

Habría que modificar el script para que funcionase en Python3. O tomarlos del lugar donde se encontraron y usar los de la versión 3.

Saludos

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!
#2

(01-06-2023, 19:57)Shell escribió:  Python
Otra vez con las Confused serpientes !

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#3

(02-06-2023, 02:42)vuott escribió:  Otra vez con las Confused serpientes !

  Rolleyes

Que remedio. Ojala Gambas fuera tan popular ( que debería serlo, pero como no mueve dinero ).
¿ Quien con ganas de hacer dinero va a crear libros para una comunidad tan "chiquita" ?
No lo respaldan empresas, instituciones, etc, etc..

De todo se aprende y sirve como ayuda ( Lo cierto es que Python me ayuda a hacer cosas en Gambas ).
A mi en especial me gusta el diseño de videojuegos por simples que puedan ser.
Comparo la librería Pygame ( SDL1/2) con Paint.

La idea es que no les va a funcionar el benchmark de Gambas con solo usar la palabra Python.
Que por cierto, no estaría mal que viéramos el código del benchmark. Sobre todo por que cuando
testea la velocidad en Gambas, usa tres formas.

Esta debe ser la parte que le dice como ejecutar las tres formas.

GAMBAS
  1. ...
  2. If Not bGambasOnly Then cResult!python2 += RunScript(sBenchmark & ".py", "python2", bGambasOn
  3. If Not bGambasOnly Then cResult!perl += RunScript(sBenchmark & ".pl", "perl", bGambasOnly)
  4. fTime = RunScript(sBenchmark & ".gbs", "gbs3 -f -U -c", bGambasOnly)
  5. cResult!gambasjit += fTime
  6. cResult!gambasjitwct += fTime - $fCompileTime
  7. cResult!gambas += RunScript(sBenchmark & ".gbs", "gbs3 -c", bGambasOnly)
  8. ....



Algo que quiero preguntaros. Fijaros en esto:

cResult!python2

cResult es una colección. Pero ese signo de exclamación, ¿ que quiere decir ?. ¿ la llave o clave ?. ( No puede ser otra opción )
Creía que el símbolo "!" se usaba en bases de datos. No suelo usar ese símbolo o no lo conocía.

Luego está la forma en como se ejecutan los scripts para el test. ( Centrándonos solo en Gambas )

Tenemos:

GAMBAS
  1. fTime = RunScript(sBenchmark & ".gbs", "gbs3 -f -U -c", bGambasOnly)


Cita:-f --fast                use just-in-time compiler
-U --unsafe              allows jit compiler to generate unsafe faster code
-c --nocache             force the script compilation (do not check cache)

Le dice directamente "como" debe ejecutarse "en general" el script ( lo digo por que a lo mejor no tiene procedimientos o funciones concretas que deben ser
"aceleradas" ), ejecuta "todo" el script de test con esas opciones.

El siguiente no os lo muestro, ya que solo usa la opción de -c
Y el primero se ejecutará sin esas opciones.

Saludos

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)