I will start by saying that have a soft-spot for the legendary IBM-PC 5150... a true "maverick" product, born out of true mavericks inside what was otherwise a rigid and gelid corporate culture... Conceived and designed right here, in Boca Raton, Florida, from where the Personal Computer revolution was catapulted to a multi-billion industry stardom!
Yes, the PC 5150 carries a more powerful Intel 8088 CPU running at 4.77 Mhz, filled with 16bit registers and 1 Mbyte of addressable RAM, has a more capable, "open" architecture, also costing a whole lot more than the Atari series... yet its CPU handles 8-bits at a time, on its data-bus !
I always perceived the 5150 as being significantly faster, especially after seeing those dreary benchmarks of the time (almost all in Basic), in which most of the time, our A8s got deeply buried. But with the flurry of Basic interpreters and compilers recently optimized and/or developed for A8-series, maybe it is now the time to revisit history.
For the IBM side of the tests, we will use:
- PCjs (https://www.pcjs.org...achine/5150/mda) simulation
- Monochrome Display Adapter (MDA), 256 Kbytes of RAM.
- PC DOS 3.1 and its 16+ Kbytes PC-Basic package (which only runs with on-board 32K disk or cassette-Basic !!!)
As for the Atari, tests will be run on :
- Real 800 running in both OS-b and XL modes (with Incognito) will be used.
- The basic of choice will be Altirra Basic 1.55 (8k interpreter-in-rom package that 1:1 replaces Atari revC),
- Altirra OS (higher-precision) FPP in XL/XE mode
- Newell FPP for OS/B
- SDX as facilities environment. Any other DOS is also possible.
Test #1: AHL's bench:
Atari (34.2 secs):
IMG_3423.JPG 686.19KB 10 downloads
IBM (23.56 sec):
IMG_3438.JPG 795.43KB 10 downloads
- A800 results are about 100x (hundred) times more precise than IBM's, thanks to Altirra's FPP package.
- On OS/B Newell, Atari timing is 24.36 secs. with precision similar to IBM.
- On high-performance FPP package for XL/XE OS, A800 execution time drops to 19.95secs, with precision similar to IBM.
- All tests with Antic OFF
Test #2: integer-looped / cumulative & carry-over FPP basic operations:
Atari: (72.53 sec, Error=0)
IMG_3437.JPG 648.83KB 10 downloads
IBM: (74.6 sec, Error=0)
- Microsoft Basic II for A800 completes these tests in 74.5 secs.
- On OS/B Newell, Atari timing is 78.4. secs, with lower precision.
- On high-performance FPP package for XL/XE OS, A800 execution time drops to 50.90secs, with lower precision.
- All tests with Antic OFF
Test #3: Prime Number Generator (size = 1000)
Atari: (7.72 secs)
IMG_3430.JPG 801.94KB 10 downloads
IBM: (13.00 secs)
IMG_3429.JPG 856.77KB 10 downloads
IMG_3426.JPG 664.81KB 9 downloads
- The executed Basic code (IBM and Atari) for this test are essentially IDENTICAL.
- The A800 was switched to 80-cols. mode in SDX, and Antic was left ON during the execution of the test.
- The IBM code was optimized for handling Integer-variables directly (A800 basic does not support such direct definitions).
- When deliberately suppressing screen-output (but ANTIC=ON), A800 runs in 4.x secs. and IBM in 9.x secs.
- It is clear that A800 is handling HIGHER screen-output overhead than IBM, even with Antic=ON.
Well, there you have some food for thought... With just a more efficient / intelligent Basic interpreter and a more optimized FPP package, the A800 seems to be showing fairly competitive performance with respect an IBM 5150 on some past and modern Basic tests (the testing venue of choice back in the day).
Forget about the Apple II and (much less) the C64. Those will never match these results.