Mensajepor mcleod_ideafix » 03 Nov 2012, 22:22
Unos comentarios a colación de este ranking:
BBC Micro : 0,44 seg. Brutal. Se confirma lo que Dancresp ya había medido. Me quito el sombrero. No conozco la historia detrás del desarrollo del BASIC de este micro, pero ha batido con diferencia todas las marcas.
Amstrad CPC464 : 0,89 seg. Recuerdo en los anuncios de Microhobby como una de las cosas que se alababan de este micro era su Locomotive BASIC, más avanzado y rápido que sus coetáneos. No se equivocaban.
Sinclair QL : 0,9 seg. Para ser un micro con estructura interna de 32 bits, registos a porrillo, y 7MHz de velocidad (excepto cuando está en contienda), el rendimiento en BASIC es más bien modesto. Uno podría llegar a pensar que las rutinas de cálculo deberían ir más rápidas en 32 bits y que la determinación de la dirección efectiva debería poder calcularse más rápidamente, pero se ve que algo, además de la contienda, le frena. ¿Será la multitarea que impone QDOS? ¿Será el propio intérprete que es lento porque soporta estructuras complejas, tales como variables locales, funciones, procedimientos, etc?
Dragon 32 : 1,1 seg. Ordenador modesto, pero que esconde un arma secreta en forma de MC6809 y sobre todo, una implementación por lo que se ve, optimizada, del Microsoft BASIC. Lástima que no fuera a mucha velocidad (recuerdo por ahí un POKE para que fuera más rápido).
MSX-1 genérico : 1,28 seg. Otro micro con Z80 y un BASIC a la vez versátil y rápido, aunque no tanto como el Amstrad.
Commodore 64 : 1,52 seg. BASIC muy parco, pero residente en 8K de ROM, por lo que intuyo que algunas operaciones habrán sacrificado velocidad por espacio. Por otra parte, al ser un BASIC muy sencillo, sin florituras, debería ser más fácil de interpretar. Tirando una cosa de un lado y otra de otro, tenemos un tiempo razonablemente rápido para un 6502 a menos de 1MHz de velocidad.
SAM Coupé : 1,62 seg. Inexplicable cómo un Z80A a 6MHz puede comportarse de esta forma. Bueno, en realidad explicable: la contienda a la que está sometido dicho Z80 es brutal, haciendo que su velocidad efectiva sea poco más que la de un Spectrum 48K. Aun así, esta velocidad es mayor que la velocidad efectiva del Amstrad, y queda muy por debajo de él. El BASIC del SAM Coupé es muy parecido internamente al del Spectrum, así que ambos irán más o menos igual.
Spectrum 48K : 1,94 seg. El peor, tardando más de 4 veces en hacer la misma tarea que el BBC Micro. Con un BASIC bueno en posibilidades (tiene comandos para gráficos, un evaluador de expresiones disponible para el usuario, y un manejo de E/S independiente de dispositivo, pero adolece de otras cosas, tales como el ELSE del IF, o WHILE-WEND para bucles), pero una interpretación lenta.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista