BillG wrote:
To be honest, I have not personally run your benchmark so have no experience with it.
I have little interest in benchmarking BASIC interpreters and probably will not until floating point is implemented in my compiler.
At which point the speed-ups are going to be marginal unless you can better the FP code used in BBC Basic 4. You'll save on things like loop variables which are also floating point if you can detect and reduce them to integer values and the usual other BASIC overheads like end of statement/line detection, next line, GOTOs and so on.
If I can be bothered I'll make a condensed BBC Basic version, however when I hand-translating this on a statement by statement basis into compiled BCPL on the same platform it did go significantly faster, however 4-byte floats vs. 5 bytes in BBC Basic, also I was using a floating point co-processor - which is still an 8-bit micro running at 16Mhz (same speed as my '816), however it has the advantage of a hardware 2-cycle 8x8 multiply.
The limit for this really is floating point performance.
-Gordon
_________________
--
Gordon Henderson.
See my
Ruby 6502 and 65816 SBC projects here:
https://projects.drogon.net/ruby/