Which Apple Interpreted Basic is the Fastest?

While at the vintage computer festival, I had an Apple 1, an Apple II with integer BASIC and an Apple IIplus with Applesoft all up and running.

At one point late in the afternoon on Sunday, I decided to have a simple performance contest between these machines. This is the program.

10 FOR I = 0 TO 10000
20 NEXT I
30 PRINT “DONE”
40 END

Two machines were matched against each other and the program started at the same time on both machines. The first to finish was the winner.

After several heats, here are the results.

1st place – Apple 1 – by a little
2nd place- Apple II
3rd place – Apple II plus – way behind

At first, I was confused by the Apple 1 beating the Apple II, as the Apple II should run about 5% faster than an Apple 1. This is do to the more efficient method for refreshing memory on the Apple II. The Apple 1 stops processor clocks while refreshing, while the Apple II uses unused portions of the 6502 bus cycles to refresh memory (and read video display data). Integer BASIC on the Apple II is a direct development of Apple 1 Basic, so I was thinking that the performance would depend on the processor, not the Integer BASIC implementation, which were basically the same.

After a while I realized that Apple 1 BASIC might be a little simpler than Apple II BASIC and thus faster. I ran a second test. In this test, I booted the A2plus that I had there at the show into Apple 1 mode, with the Brain Board/WOZANIUM and ran the test against the original Apple 1. Both machines were now running virtually the same version of BASIC. In this case, the Apple II beat the Apple 1 by the expected amount. Thus, Apple 1 BASIC running on an Apple II, is the fastest version of Apple BASIC.

However, keep in mind that if print statements are added to the loop, the Apple II will beat the Apple 1 by a substantial amount.

2 thoughts on “Which Apple Interpreted Basic is the Fastest?

  1. Given that Integer BASIC is a bit simpler by not having to provide support for floating point values, I’m not surprised it’s faster. This is why the old Integer BASIC card was released for the ][+. No one was willing to give up that kind of speed – until they wanted to have “1/2” make sense to the machine.

  2. however – the thing that surprised me is that Apple 1 Integer BASIC is a bit faster than Apple II Integer BASIC – the Apple II version is very similar to the Apple 1 version. Applesoft is slower because Integer BASIC parses the input into binary when you enter the program, not when you run it. Applesoft parses the program only when you run it, which makes running the program take longer.

Comments are closed.