2023-11-03 19:42:12 +01:00
|
|
|
# Performance measurements
|
|
|
|
|
|
|
|
This sections tracks some performance measurements across releases.
|
|
|
|
|
|
|
|
|
|
|
|
## NQueens (DM42)
|
|
|
|
|
|
|
|
Performance recording for various releases on DM42 with `small` option (which is
|
|
|
|
the only one that fits all releases). This is for the same `NQueens` benchmark,
|
|
|
|
all times in milliseconds, best of 5 runs, on USB power, with presumably no GC.
|
|
|
|
|
|
|
|
|
|
|
|
| Version | Time | PGM Size | QSPI Size | Note |
|
|
|
|
|---------|---------|-----------|-----------|-------------------------|
|
2023-11-07 20:56:49 +01:00
|
|
|
| 0.4.10+ | 1205 | 651108 | | RPL stack runloop |
|
|
|
|
| 0.4.10 | 1070 | 650116 | | Focused optimizations |
|
2023-11-03 21:40:29 +01:00
|
|
|
| 0.4.9+ | 1175 | | | Range-based type checks |
|
2023-11-03 20:31:29 +01:00
|
|
|
| 0.4.9+ | 1215 | | | Remove busy animation |
|
2023-11-03 19:42:12 +01:00
|
|
|
| 0.4.9 | 1447 | 646028 | 1531868 | No LastArgs in progs |
|
|
|
|
| 0.4.8 | 1401 | 633932 | 1531868 | |
|
|
|
|
| 0.4.7 | 1397 | 628188 | 1531868 | |
|
|
|
|
| 0.4.6 | 1380 | 629564 | 1531868 | |
|
|
|
|
| 0.4.5 | 1383 | 624572 | 1531868 | |
|
|
|
|
| 0.4.4 | 1377 | 624656 | 1531868 | Implements Undo/LastArg |
|
|
|
|
| 0.4.3S | 1278 | 617300 | 1523164 | 0.4.3 build "small" |
|
|
|
|
| 0.4.3 | 1049 | 717964 | 1524812 | Switch to -Os |
|
|
|
|
| 0.4.2 | 1022 | 708756 | 1524284 | |
|
|
|
|
| 0.4.1 | 1024 | 687444 | 1522788 | |
|
|
|
|
| 0.4 | 998 | 656516 | 1521748 | Feature tests 7541edf |
|
|
|
|
| 0.3.1 | 746 | 618884 | 1517620 | Faster busy 3f3ab4b |
|
|
|
|
| 0.3 | 640 | 610820 | 1516900 | Busy anim 4ab3c97 |
|
|
|
|
| 0.2.4 | 522 | 597372 | 1514292 | |
|
|
|
|
| 0.2.3 | 526 | 594724 | 1514276 | Switching to -O2 |
|
|
|
|
| 0.2.2 | 723 | 540292 | 1512980 | |
|
|
|
|
|
|
|
|
|
|
|
|
## NQueens (DM32)
|
|
|
|
|
|
|
|
Performance recording for various releases on DM32 with `fast` build option.
|
|
|
|
This is for the same `NQueens` benchmark, all times in milliseconds,
|
|
|
|
best of 5 runs. There is no GC column, because it's harder to trigger given how
|
|
|
|
much more memory the calculator has. Also, experimentally, the numbers for the
|
|
|
|
USB and battery measurements are almost identical at the moment. As I understand
|
|
|
|
it, there are plans for a USB overclock like on the DM42, but at the moment it
|
|
|
|
is not there.
|
|
|
|
|
|
|
|
|
|
|
|
| Version | Time | PGM Size | QSPI Size | Note |
|
|
|
|
|---------|---------|-----------|-----------|-------------------------|
|
2023-12-02 17:18:23 +01:00
|
|
|
| 0.5.1 | 1746 | | |
|
|
|
|
| 0.5.0 | 1723 | | |
|
2023-11-07 20:56:49 +01:00
|
|
|
| 0.4.10+ | 1804 | 761252 | | RPL stack runloop |
|
|
|
|
| 0.4.10 | 1803 | 731052 | | Focused optimizations |
|
2023-11-03 19:42:12 +01:00
|
|
|
| 0.4.9 | 2156 | 772732 | 1534316 | No LastArg in progs |
|
|
|
|
| 0.4.8 | 2201 | 749892 | 1534316 | |
|
|
|
|
| 0.4.7 | 2209 | 742868 | 1534316 | |
|
|
|
|
| 0.4.6 | 2204 | 743492 | 1534316 | |
|
|
|
|
| 0.4.5 | 2171 | 730092 | 1534316 | |
|
|
|
|
| 0.4.4 | 2170 | 730076 | 1534316 | Implements Undo/LastArg |
|
|
|
|
| 0.4.3 | 2081 | 718020 | 1527092 | |
|
|
|
|
| 0.4.2 | 2242 | 708756 | 1524284 | |
|
|
|
|
| 0.4.1 | 2152 | 687500 | 1522788 | |
|
|
|
|
| 0.4 | | | | Feature tests 7541edf |
|
|
|
|
| 0.3.1 | | | | |
|
|
|
|
| 0.3 | | | | |
|
|
|
|
| 0.2.4 | | | | |
|
|
|
|
| 0.2.3 | | | | |
|
2023-11-07 20:56:49 +01:00
|
|
|
|
|
|
|
|
|
|
|
## Collatz conjecture check
|
|
|
|
|
|
|
|
This test checks the tail recursion optimization in the RPL interpreter.
|
|
|
|
The code can be found in the `CBench` program in the `Demo.48S` state.
|
|
|
|
The HP48 cannot run the benchmark because it does not have integer arithmetic.
|
|
|
|
|
|
|
|
Timing on 0.4.10 are:
|
|
|
|
|
|
|
|
* HP50G: 397.438s
|
|
|
|
* DM32: 28.507s (14x faster)
|
|
|
|
* DM42: 15.769s (25x faster)
|