Quote:
At the very least, non-crystal, slow mode, version 2 and version 3 firmware.
Non crystal timings are quite variable. That is the point of having a crystal.
Firmware versions would ideally have to be more finely grained than just 2 and 3. Marcus and I made a lot of space/time tradeoffs during the development of 3. The obvious way to deal with this is to benchmark the latest version 2 and version 3 revisions. Firmware version 3 is unlikely to change significantly now so it wouldn't need regular major revisions anymore.
Quote:
It seems to me :-) that *some* list should be available...or else how will non-developers know which instructions slow down their programming contest entries this year at HHC 2013?
Sounds like you've found a project :-)
It is straightforward to write timing loops using the TICKS command and check each instruction as required. That's what I've done in the past when performance was an issue (re-implementing LN mostly). Something along the lines of:
LBL A
EEX
3
STO 00
TICKS
STO 01
LBL 00
[<->] ZZZZ
function
DSZ 00
GTO 00
TICKS
RCL- 01
RTN
I don't believe anyone knows the instruction timings -- I certainly don't. For most instructions I don't even have a feel as to their relative timings.
One thing I am confident about, however, is that Version 2 firmware will be faster than version 3 pretty much across the board. Many space for time tradeoffs were made in version 3 to squeeze the significant extra functionality in.
- Pauli