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

dancresp
Mensajes: 5629
Registrado: 13 Nov 2010 02:08
Agradecido : 311 veces
Agradecimiento recibido: 446 veces

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

Mensajepor dancresp » 18 Jul 2012 00:32

Último mensaje de la página anterior:

Bueno, en el primer post he incorporado los resultados de los siguientes ordenadores:

- AMSTRAD PCW-8256 (BASIC Mallart-80)
- THOMSON TO8
- ACORN ELECTRON
- TRIUMPH-ADLER ALPHATRONIC PC
- TEXAS INSTRUMENTS TI-99/4A
- SINCLAIR QL
- COMMODORE 128
- COMMODORE 64

He incorporado una prueba más. La que indicaba mcleod y que imprime 512 "X", una a continuación de la otra. Ideal para los equipos que no tienen el LOCATE o similar. Aunque ahora mismo solo la he usado con estos últimos ordenadores.

Mañana publicaré los resultados en el primer post para que quede todo bien recogido.

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

mcleod_ideafix
Mensajes: 925
Registrado: 13 Ene 2012 09:45

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

Mensajepor mcleod_ideafix » 18 Jul 2012 00:38

Yo aporto algunos resultados usando un +3 con Mallard BASIC bajo CP/M. He usado el Spectaculator.

Para medir con la mayor precisión posible el tiempo empleado, lo que he hecho es grabar en video, a 50fps, la ejecución de la prueba. Después, con un editor de video he buscando el primer y último fotogramas de la ejecución. Esa diferencia se divide entre 50 y ese es el tiempo que he puesto

TEST 1 (con variables reales) : 7.18 segundos.
Imagen

TEST 1 (variables enteras) : 6.62 segundos.
Imagen

TEST 2 : 8.46 segundos
Imagen

TEST 2 (sin E/S) : 0.72 segundos
Imagen
Cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista.

dancresp
Mensajes: 5629
Registrado: 13 Nov 2010 02:08
Agradecido : 311 veces
Agradecimiento recibido: 446 veces

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

Mensajepor dancresp » 18 Jul 2012 08:59

mcleod_ideafix escribió:Yo aporto algunos resultados usando un +3 con Mallard BASIC bajo CP/M. He usado el Spectaculator.

Para medir con la mayor precisión posible el tiempo empleado, lo que he hecho es grabar en video, a 50fps, la ejecución de la prueba. Después, con un editor de video he buscando el primer y último fotogramas de la ejecución. Esa diferencia se divide entre 50 y ese es el tiempo que he puesto

Hombre mcleod, estás rizando el rizo !!! !guayx

Yo quiero dejar claro que todas las pruebas han sido realizadas en los equipos originales. No he usado ni un emulador.

Pero ya puestos, ¿tienes algún ejemplo de benchmark más complejo, que no obligue a teclear un programa muy largo? Se podría volver a probar el experimento a ver que sale.

FloppySoftware escribió:Eso sí, estoy de acuerdo en que para medir la velocidad del Basic (y nada más que la del Basic), no debería haber interacción ninguna con el sistema operativo que hay debajo (principalmente entradas de teclado, y salidas de pantalla).

Pues aquí no coincido. Comandos como el PRINT o un INKEY son parte del BASIC y afectan a su rendimiento.

La mejor prueba sería una que contemplara una muy amplia gama de comandos.
Buscando la IP de la W.O.P.R. he encontrado mi índice

Avatar de Usuario
FloppySoftware
Mensajes: 224
Registrado: 21 Oct 2016 15:10
Agradecido : 36 veces
Agradecimiento recibido: 41 veces
Contactar:

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

Mensajepor FloppySoftware » 18 Jul 2012 18:35

Hola,

En mi humilde opinión, el título del post puede llevar a error, puesto que los resultados no reflejan única y exclusivamente el rendimiento del Basic en cuestión.

La entrada / salida del sistema repercute, casi siempre negativamente, en los resultados obtenidos, y esto no depende en absoluto de la implementación del lenguaje, sino de la máquina y el OS que hay debajo.

Por poner un ejemplo que conozco muy bien, el Basic Mallard para Z80 es de los más rápidos de su clase, pero las rutinas de pantalla del Amstrad PCW no son especialmente gacelas desbocadas.

La razón de esta lentitud, no es otra que la emulación de terminal (VT52 y similares) llevada a cabo por la BIOS.

Si en lugar de llamar a la BIOS, el Basic Mallard llamara a las rutinas de E/S del BDOS de CP/M, la lentitud sería entonces exasperante.

Si no recuerdo mal, el MS BASIC, tanto interpretado como compilado, utiliza el BDOS. Es incluso posible abortar un programa compilado mediante CONTROL C.

Repito: desde mi humilde opinión.

Saludos.
Developing software since 1987 - http://www.floppysoftware.es

xgipe
Mensajes: 535
Registrado: 02 May 2011 15:44

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

Mensajepor xgipe » 18 Jul 2012 22:23

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.

javu61
Mensajes: 325
Registrado: 26 Mar 2011 15:58
Agradecimiento recibido: 1 vez

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

Mensajepor javu61 » 18 Jul 2012 23:44

Si el test es de velocidad en Basic, hay que medir varias cosas. En general la velocidad de un programa no se mide en su velocidad sacando cosas en pantalla, sino ejecutando bucles, esa medida si que es directa, ya que solo influye su implementación. Yo haría una prueba con varios bucles anidados, tanto bucles FOR como GOSUB, eso si dará idea de la implementación mas rápida.

Por otro lado, las rutinas en BASIC usan la ROM para E/S, pero el INPUT está muy condicionado por la velocidad de respuesta del operador, por lo que es una instrucción muy dificil de medir, y no debe emplearse nunca para las medias de rendimiento puras.

dancresp
Mensajes: 5629
Registrado: 13 Nov 2010 02:08
Agradecido : 311 veces
Agradecimiento recibido: 446 veces

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

Mensajepor dancresp » 19 Jul 2012 13:31

FloppySoftware escribió:En mi humilde opinión, el título del post puede llevar a error, puesto que los resultados no reflejan única y exclusivamente el rendimiento del Basic en cuestión.

Cambiado el título del hilo.

La verdad es que no le di mucha importancia y supuse que entenderíais que lo que hacía era probar la velocidad del BASIC que llevan los equipos en ROM (básicamente), pero parece que no ha quedado claro.

Entre otras cosas, porque para probar distintos BASIC deberías hacer las pruebas en un mismo equipo, y salvo en equipos con CP/M o MS-DOS, dificil experimentarlo. No me veo probando otro BASIC en un SPECTRUM distinto del que lleva en ROM (aunque puede ser posible).

Por ejemplo, el Microsoft BASIC está en la mayoría de los equipos, con ese u otro nombre, pero lo que he pretendido ha sido comparar el del MSX con el del DRAGON, que no rinden igual, ni mucho menos. En esto ha consistido el experimento.

Pues nada, que espero que por fin el tema haya quedado claro... o no... B)
Buscando la IP de la W.O.P.R. he encontrado mi índice

Avatar de Usuario
FloppySoftware
Mensajes: 224
Registrado: 21 Oct 2016 15:10
Agradecido : 36 veces
Agradecimiento recibido: 41 veces
Contactar:

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

Mensajepor FloppySoftware » 19 Jul 2012 16:39

Hola Dancresp,

Que conste en acta, que me parece tremendo el trabajo que has hecho, y lo aplaudo.

Sólo por tu paciencia en probar los programas en equipos reales, ya te mereces un 10.

Quizás, como sugerencia, podrias ejecutar dos listados en las máquinas:

- Un programa de cálculo con números enteros sin salida a pantalla.

- Mismo programa, pero con salida a pantalla.

Los resultados sorprenderían, creo yo, puesto que las rutinas de salida a pantalla son cada una de su padre y de su madre.

Por lo demás, ya digo: chapeau.

Saludos.
Developing software since 1987 - http://www.floppysoftware.es

Avatar de Usuario
ron
Mensajes: 18951
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2030 veces
Agradecimiento recibido: 1745 veces

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

Mensajepor ron » 19 Jul 2012 23:06

..ya que somos un puñado, porque no hacemos una cosa..., yo tan solo propongo y dancresp si quiere, dispone.

Teniendo en cuenta que hay más cacharros, podemos centrar la cosa en 8 y aparte los otros bits. Dentro de las máquinas de 8 bit sin serlo podemos meter el Sinclair QL y TI99/4a. Y en la segunda categoría meter 16/32...

La cuestión es: Preparar un programa en BASIC lo más estándar posible y que sea lo más apropiado a cada interprete. Además de la prueba en BASIC, sería importante hacer una prueba en assembler, creo que entre todos y con la documentación existente podremos sacar algo en claro.

Y cada uno podría elegir un micro, algunos de vosotros teneis micros que otros no tenemos y viceversa, cada uno que elija un micro y se comprometa a realizar y a picar los programas y todo eso, y por supuesto a fotografiar, filmar en video o al menos recoger todos los tiempos con la mayor precisión.

Creo que de esta manera podremos tener algo aportado por todos y de esta manera podremos sacar mucha más información y tener datos frescos, aparte de permitirnos usar las máquinas y pasar un buen rato y aprender.

Mi opinión era testar todas estas máquinas ya comentadas y añadir el Sam Coupe, Enterprise, Tatung, Memotech, etc.... venga ¿ hay ganas ?


dancresp
Mensajes: 5629
Registrado: 13 Nov 2010 02:08
Agradecido : 311 veces
Agradecimiento recibido: 446 veces

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

Mensajepor dancresp » 20 Jul 2012 01:00

FloppySoftware escribió:Que conste en acta, que me parece tremendo el trabajo que has hecho, y lo aplaudo.

Sólo por tu paciencia en probar los programas en equipos reales, ya te mereces un 10.

Merece la pena experimentarlo. Un puntazo.


FloppySoftware escribió:Quizás, como sugerencia, podrias ejecutar dos listados en las máquinas:

- Un programa de cálculo con números enteros sin salida a pantalla.

- Mismo programa, pero con salida a pantalla.

Los resultados sorprenderían, creo yo, puesto que las rutinas de salida a pantalla son cada una de su padre y de su madre.

Aquí digo lo mismo que antes. ¿Que queremos comprobar, equipos o BASICS? ?!


ron escribió:..ya que somos un puñado, porque no hacemos una cosa..., yo tan solo propongo y dancresp si quiere, dispone.

Por dios, puedes proponer y disponer. Un hilo así lo habre quien quiere !!! !mola

Eso si, lo haga quien lo hago, yo me apunto.

ron escribió:Teniendo en cuenta que hay más cacharros, podemos centrar la cosa en 8 y aparte los otros bits. Dentro de las máquinas de 8 bit sin serlo podemos meter el Sinclair QL y TI99/4a. Y en la segunda categoría meter 16/32...

La cuestión es: Preparar un programa en BASIC lo más estándar posible y que sea lo más apropiado a cada interprete. Además de la prueba en BASIC, sería importante hacer una prueba en assembler, creo que entre todos y con la documentación existente podremos sacar algo en claro.

...

Mi opinión era testar todas estas máquinas ya comentadas y añadir el Sam Coupe, Enterprise, Tatung, Memotech, etc.... venga ¿ hay ganas ?

Parte de mi idea era que el que tenga equipos que no tengamos el resto, puedan teclear las líneas del programa y poner los resultados. Yo me he limitado a lo que tengo, que no es poco, pero no es todo ni mucho menos.

****************************

Por otro lado, estas dos últimas noches me he molestado en teclear las más de 200 líneas del programa que hice para el CPC, el "dBASE II Lite", en un MSX-2 y lo he tenido que acabar dejando porque literalmente el AMSTRAD CPC se merienda al BASIC del MSX. La verdad es que no me lo esperaba. Esta 100% operativo ya que el código es practicamente idéntico, pero no tira ni con pedales. Esta si es una buena prueba, con matrices, lecturas de teclado, acceso a pantalla, cálculos, etc.

Frustante porque del MSX lo quería pasar al ALPHATRONIC PC, mediante el CLOAD, pero despues del curro y la fustración se me han pasado las ganas.

Este año he descubierto los BASIC del BBC y del AMSTRAD y no me extraña que digan que son los mejores. Es que son muy completos y muy rápidos. Al menos de los que yo conozco, que son unos cuantos.

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

Avatar de Usuario
ron
Mensajes: 18951
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2030 veces
Agradecimiento recibido: 1745 veces

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

Mensajepor ron » 20 Jul 2012 11:14

Wally, si no es por otra cosa más que organices y lideres la aventura del benchtesting, ya que la has empezado, nada mejor que lo organizaras a tu manera, se que será genial.

dancresp
Mensajes: 5629
Registrado: 13 Nov 2010 02:08
Agradecido : 311 veces
Agradecimiento recibido: 446 veces

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

Mensajepor dancresp » 20 Jul 2012 12:15

ron escribió:Wally, si no es por otra cosa más que organices y lideres la aventura del benchtesting, ya que la has empezado, nada mejor que lo organizaras a tu manera, se que será genial.

Tomo nota, pero con las vacaciones por medio... :?

Creo que tocará esperara a la reválida de septiembre. !tongue
Buscando la IP de la W.O.P.R. he encontrado mi índice

Avatar de Usuario
falken
Mensajes: 678
Registrado: 05 Ene 2011 08:50
Agradecido : 29 veces
Agradecimiento recibido: 8 veces

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

Mensajepor falken » 20 Jul 2012 19:39

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. A no ser que querais el resultado del listado de basic ejecutado en un Core 2 Quad Q9400.

Saludos

xgipe
Mensajes: 535
Registrado: 02 May 2011 15:44

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

Mensajepor xgipe » 20 Jul 2012 21:22

Recuerdo que en una de las revistas que presté a Ron para preservar había un benchmark que comparaba diferentes equipos...
Por favor, Ron ¿puedes mirar las páginas centrales de las "Muy Ordenadores"?

Avatar de Usuario
ron
Mensajes: 18951
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 2030 veces
Agradecimiento recibido: 1745 veces

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

Mensajepor ron » 20 Jul 2012 21:54

Claro que puedo, las tengo en lista de espera para pasar por el escaner.

dancresp
Mensajes: 5629
Registrado: 13 Nov 2010 02:08
Agradecido : 311 veces
Agradecimiento recibido: 446 veces

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

Mensajepor dancresp » 21 Jul 2012 00:34

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.
Buscando la IP de la W.O.P.R. he encontrado mi índice

dancresp
Mensajes: 5629
Registrado: 13 Nov 2010 02:08
Agradecido : 311 veces
Agradecimiento recibido: 446 veces

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

Mensajepor dancresp » 21 Jul 2012 01:17

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


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