Ok, I now have a new improved benchmark tool. Sadly, only 1 user has provided compatibility results so far?
:
EDIT: 3 users have now provided compatibility feedback.
See post #1 for the archive.
Code:
CacheDMAbench 1.1 ©SpeedGeek 2018
INTRODUCTION:
CacheDMAbench is a benchmark tool for FastCache040+. It can
also be used for benchmarking old Function Calls of most
68040/060 libraries. It runs a tight loop of 10000 CacheDMA
Function Calls. These FCs are made in paired Cache
PreDMA/PostDMA calls. A smaller number (500 or 5%) of these
FCs are directed to Chip memory.
The parameters of this benchmark may have no relationship to
actual use but the goal here is to show the cumulative effect
on CPU performance of using these FCs frequently. However,
a great amount of effort was made to time these FCs as
accurately as possible. Results of the benchmark are reported
in Microseconds.
FEATURES:
- Benchmarks Cache PreDMA/PostDMA Function Calls
- Uses ECLOCK timing of timer.device
- Uses 64 Bit integer math FCs of utility.library (v39+)
(Uses 32 Bit integer math for older versions)
- 100% Assembler code
REQUIREMENTS:
- Amiga with 68040 or 68060 CPU and MMU
- 68040.library or 68060.library
- FastCache040+
WARNINGS:
- This tool disables multitasking for a short time (but not
interrupts). This seems to be a somewhat fair balance
between accuracy and system friendly operation.
- This tool may occasionly exit with a "Sorry, benchmark
took too long." message. This happens either to avoid
reporting bogus results or something even worse... the
infamous Divide by Zero exception!
NOTES:
- FastCache040+ should be renamed to "FastCache040" because
the "+" character causes problems with script execution
(due to an undocumented feature of the Amiga Shell).
- Do NOT expect the results to be exactly the same each time
the benchmark is executed. 68040s are moderately dynamic
in performance and 68060s are extremely dynamic!
- Benchmark result comparisons against other users systems
have no practical use. Benchmark result comparisons on
your system are exactly what this tool was developed for!
HISTORY:
v1.0 - First release
v1.1 - Fixed address and size bugs in FC loop code which
could have affected the results.