BBC BASIC is certainly quite zippy on the Raspberry Pi 2!
EDIT: I have updated the programs so that they will run better on non-Raspberry Pi RISC OS systems (as long as they're fast!). At the beginning of the program, non-RPi users should set the RPi% flag to FALSE. I will look into automatic RPi detection. Also, there's an issue where, on the RPi, the program runs practically flicker-free at 60 fps on one occassion, but after a reboot of the machine it may show horrible flickering and run at only 30 fps. Another reboot and it might run just fine! I am trying to fix this problem (I suspect it's something to do with misaligned arrays or whatnot, but I may be entirely mistaken).
There may be some flicker/tearing. I can't figure out how to prevent it. I've tried to minimize it by placing the WAIT statement just before the screenbank swap (and, somewhat unusually, the same bank number is specified for both OS_Byte calls):
bank = 1
<clear screen & draw the graphics>
SYS "OS_Byte", 112, bank
SYS "OS_Byte", 113, bank
bank = bank EOR 3
It seems to work - or at least it should be an improvement on the awful flicker you get doing it the 'normal' way.