Y el equipo con el BASIC más rápido es... (1ª parte)

dancresp
Mensajes: 5683
Registrado: 13 Nov 2010 02:08
Agradecido : 359 veces
Agradecimiento recibido: 479 veces

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor dancresp » 21 Jul 2012 01:17

Último mensaje de la página anterior:

Ojito que el ATARI ST y su GFA BASIC entran con fuerza.
¿Tiembla BBC MICRO?

Resultados y nuevas fotos en el post inicial.

Por cierto, el GFA BASIC del ATARI ST parece una herramienta muy interesante con posibilidades de compilación. Mmmmm !!!
Buscando la IP de la W.O.P.R. he encontrado mi índice

Avatar de Usuario
falken
Mensajes: 681
Registrado: 05 Ene 2011 08:50
Agradecido : 30 veces
Agradecimiento recibido: 12 veces

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor falken » 21 Jul 2012 01:32

dancresp escribió:
falken escribió:Y porque no hacemos un concurso en el que podamos participar todos? Como de algún videojuego? Se que esto no es un concurso, pero con las ganas me quedo de participar ya que teneis todas las máquinas cubiertas.

Hombre, nos podemos plantear hacer un concurso de lo que quieras, pero éste hilo trata sobre la velocidad del BASIC.

Y no te quedes con las ganas de participar en éste. Ojalá estuvieran cubiertas todas las máquinas. Por lo pronto solo están parte de las que yo tengo.




Ciertamente dancresp, no quería alterar el rumbo del hilo, sino sugerir la creación de uno nuevo con alguna actividad en la que podamos participar todos los que quieran e ir haciendo un ranking a lo mejor con las puntuaciones. ;D

Lo siento por el lapsus...

Saludos

dancresp
Mensajes: 5683
Registrado: 13 Nov 2010 02:08
Agradecido : 359 veces
Agradecimiento recibido: 479 veces

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor dancresp » 21 Jul 2012 01:39

falken escribió:Ciertamente dancresp, no quería alterar el rumbo del hilo, sino sugerir la creación de uno nuevo con alguna actividad en la que podamos participar todos los que quieran e ir haciendo un ranking a lo mejor con las puntuaciones. ;D

No, si por proponer que no quede. !mola

Pues tu mismo, plantea un concurso y a ver como acaba la cosa, que yo me apunto a un bombardeo. !baila

Buscando la IP de la W.O.P.R. he encontrado mi índice

jltursan
Mensajes: 4005
Registrado: 20 Sep 2011 13:59
Ubicación: Madrid
Agradecido : 480 veces
Agradecimiento recibido: 1210 veces
Contactar:

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor jltursan » 21 Jul 2012 12:20

Realmente, resulta muy difícil hacer un banco de pruebas que permita valorar la rapidez del BASIC de sistemas de 8 bits. Los que conocemos el MSX sabemos perfectamente que, a pesar de disponer de comandos gráficos muy potentes, el BASIC queda limitado por el embudo que supone el accceso exclusivo a la VRAM por parte del VDP... La arquitectura limita la velocidad o eficiencia del lenguaje.

No es de los más rápidos, no. El MSX-BASIC lleva con la cabeza bien alta los siguientes lastres:

    El BASIC Microsoft siempre ha sido muy completito y estandar; pero nunca ha destacado por su velocidad.
    El Z80A en los MSX es un, así a ojo,un 10% más lento que en otros sistemas a la misma velocidad (que hay algunos en los que encima corre a 4Mhz no a 3,5Mhz)
    El acceso al hardware de la máquina tiene que pasar por la BIOS por exigencias del guión, eso penaliza cada operación que necesite pasar por ella (que son muchas).
    Como dice xgipe, si se trata de acceder a pantalla, aún se ralentiza más el acceso. Lamentablemente como ya he dicho, el BASIC usa la BIOS y aunque en modo texto NO hay ralentización alguna con el VDP, la BIOS obliga a ello !nono

En fin, que salvo en el caso de los TurboR, los MSX2+ Panasonic en modo turbo, el Victor HC-90/95 o los equipos con kit 7Mhz instalado, el MSX BASIC se arrastra un poco... :(

dancresp
Mensajes: 5683
Registrado: 13 Nov 2010 02:08
Agradecido : 359 veces
Agradecimiento recibido: 479 veces

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor dancresp » 22 Jul 2012 10:55

jltursan escribió:No es de los más rápidos, no. El MSX-BASIC lleva con la cabeza bien alta los siguientes lastres:

    El BASIC Microsoft siempre ha sido muy completito y estandar; pero nunca ha destacado por su velocidad.
    El Z80A en los MSX es un, así a ojo,un 10% más lento que en otros sistemas a la misma velocidad (que hay algunos en los que encima corre a 4Mhz no a 3,5Mhz)
    El acceso al hardware de la máquina tiene que pasar por la BIOS por exigencias del guión, eso penaliza cada operación que necesite pasar por ella (que son muchas).
    Como dice xgipe, si se trata de acceder a pantalla, aún se ralentiza más el acceso. Lamentablemente como ya he dicho, el BASIC usa la BIOS y aunque en modo texto NO hay ralentización alguna con el VDP, la BIOS obliga a ello !nono

En fin, que salvo en el caso de los TurboR, los MSX2+ Panasonic en modo turbo, el Victor HC-90/95 o los equipos con kit 7Mhz instalado, el MSX BASIC se arrastra un poco... :(

Cierto en todo lo que indicas.

Si programando juegos en BASIC el MSX rinde bien, especialmente si usas SPRITES, el embudo me lo he encontrado probando el dBASE II en la parte de tratar STRINGS con MID$, LEFT$ y RIGHT$. En esta parte es mucho más lento.

Como digo, difícil es hacer un "NUCLEAR INVADERS" en otro sistema con un resultado igual al del MSX, con SPRITES que se mueven pixel a pixel. En este aspecto permite hacer juegos "muy profesionales", pero en otras cosas... flojea. Una lástima porque es mi sistema favorito.
Buscando la IP de la W.O.P.R. he encontrado mi índice

jltursan
Mensajes: 4005
Registrado: 20 Sep 2011 13:59
Ubicación: Madrid
Agradecido : 480 veces
Agradecimiento recibido: 1210 veces
Contactar:

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor jltursan » 22 Jul 2012 14:41

Hay truquillos como por ejemplo (mezcla de ahorro en memoria y velocidad):

    Nada de blancos redundantes
    Meter todos los comandos BASIC que se puedan en una sola línea
    Usar siempre IF ... THEN [línea] o IF ... GOTO [línea] (la más rápida). Nunca IF ... THEN GOTO [línea]
    Las subrutinas más usadas deben de estar al comienzo del programa
    Preferiblemente los GOTO se harán hacia delante y no hacia atrás
    Usar siempre que se pueda variables INT
    Usar NEXT en lugar de NEXT [variable]. Es casi el doble de rápida.
    Usar siempre VPOKE en lugar de PUT SPRITE. Eso permite modificar únicamente el atributo que se quiere cambiar, no todos
    Si se quiere aprovechar el modo caracter, más rápido, para hacer escenarios, sprites gordos de bloque, etc., nunca usar LOCATE para ubicar las cadenas, siempre usar los códigos de escape dentro de las propias cadenas para reubicar el cursor
    Si lo anterior lo unimos al modo híbrido texto+SC2, podremos hacer juegos en alta resolución con velocidad de uno en modo texto

Con un poquito de habilidad y aprovechando todos estos trucos, se pueden hacer cositas muy guapas con un MSX :)

dancresp
Mensajes: 5683
Registrado: 13 Nov 2010 02:08
Agradecido : 359 veces
Agradecimiento recibido: 479 veces

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor dancresp » 23 Jul 2012 14:50

jltursan escribió:Hay truquillos como por ejemplo (mezcla de ahorro en memoria y velocidad):

...
...
...

Con un poquito de habilidad y aprovechando todos estos trucos, se pueden hacer cositas muy guapas con un MSX :)

Si consultas mis juegos en "Lenguajes de programación" verás que estas son algunas de las técnicas que recomiendo (bueno, alguna no la sabía !mola ).

Y efectivamente, sobretodo con el MSX, se pueden hacer cosas muy chulas gracias a la posibilidad de usar SPRITES desde el BASIC.

Buscando la IP de la W.O.P.R. he encontrado mi índice

garillete
Mensajes: 1558
Registrado: 30 Oct 2010 20:58
Agradecido : 261 veces
Agradecimiento recibido: 565 veces

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor garillete » 13 Oct 2021 21:47

Segun la revista Commodore Magazine en diferentes pruebas el resultado es este:

Para mas informacion en la revista 14 paginas 40 y 41...

Comparativa Commodore Magazine 14-P40.png
Comparativa Commodore Magazine 14-P40.png (761.95 KiB) Visto 453 veces

Avatar de Usuario
ron
Mensajes: 20182
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2942 veces
Agradecimiento recibido: 2802 veces

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor ron » 14 Oct 2021 07:55

garillete escribió:Segun la revista Commodore Magazine en diferentes pruebas el resultado es este:

Para mas informacion en la revista 14 paginas 40 y 41...

Comparativa Commodore Magazine 14-P40.png


Fantástico, todo santos griales comparados -507 -rofl

ceralocan
Mensajes: 315
Registrado: 18 Nov 2020 10:44
Agradecido : 29 veces
Agradecimiento recibido: 67 veces

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor ceralocan » 14 Oct 2021 09:23

...

Avatar de Usuario
frankrodiii
Mensajes: 495
Registrado: 26 May 2019 14:46
Ubicación: ??!!!#=?¿****!!! ©
Agradecido : 343 veces
Agradecimiento recibido: 176 veces
Contactar:

Re: Y el equipo con el BASIC más rápido es... (1ª parte)

Mensajepor frankrodiii » 14 Oct 2021 10:58

Hace unos meses estaba probando cores de la sidi y se me ocurrió probar un programa que te saca los números primos menores que 200 en varios basics. Lo gracioso es que en el Sinclair BASIC y el SuperBASIC, las sentencias IF...THEN GOTO tienes que picar el GOTO sí o sí, en los demás dialectos no hace falta, con poner el número de línea después del THEN lo acepta.

El programa viene del proyecto altairclone.com, concretamente se llama "Interface Age Prime-Number Benchmark Program"
https://altairclone.com/downloads/basic ... _prime.bas

La única cosa que me falta es probarlo en el GFA BASIC del Atari ST y en Amiga, ya que el GFA ya no usa números de línea hay que replantearse los GOTO. De hecho conseguí reescribir el programa en JavaScript para probarlo en un navegador, así que a lo mejor el GFA irá por los mismos derroteros... -507

photo_2020-12-25_19-49-52.jpg
photo_2020-12-25_19-49-52.jpg (16.83 KiB) Visto 400 veces
frankrodriguez.net // -m4c SE/30 // SiDi


Volver a “Lenguajes de Programación y herramientas Dev”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado