PDP-11 benchmark
When you run it, you'll see after 10 seconds a value in hex: that's the number of iterations it could do in 10 seconds. It expects a working kw11-l in the system.
If you like you can assemble the source with e.g. this assembler. You can also run the .bin-file directly in e.g. simh like this:
set cpu 11/70 SET CLK 50HZ load benchmark.bin goPlease consider compiling the emulator with e.g. -march=native as that often speeds things up quite a bit.
The program should be loaded at address 01000 (octal) and executed from that address as well.
- benchmark.asm source code
- here is everything related to booting it from tape
- benchmark.bin loadable in simh with "load benchmark.bin" (als in kek with -T benchmark.bin)
- benchmark.raw bare metal image (no header of any kind)
- benchmark-odt.txt a text-file containing commands that can be "pasted" into an ODT-session (untested!)
- benchmark.x11 file for p11
results
*1: compiled with -Ofast -march=native -mtune=native
*2: ran under pypy
| cpu | emulator or system | speed (hex) |
|---|---|---|
| AMD Ryzen 9 7950X3D | ersatz-11 | 00872149 |
| AMD Ryzen 9 7950X3D | simh v3.8-1 | 0066ac02 *1 |
| AMD Ryzen 9 7950X3D | p11 2.10i | 0058637c |
| Macbook Air M3 | simh v3.12-2 | 00357ded |
| AMD Ryzen 9 7950X3D | Kek (git 6e2ccd5) | 00258ae0 |
| Raspberry Pi 5 | simh v3.8-1 | 000a9c95 |
| AMD Ryzen 9 7950X3D | NWebber (git 485cdcc) | 000a1732 *2 |
| Raspberry Pi 4 | simh v3.8-1 | 0005760e |
| Raspberry Pi 2 | simh v3.8-1 | 00011ad6 |
| ESP32-S3 | Kek (git bb4e70a) | 00002adf |
Note: when I have data of a real PDP11/70 system then I'll add percentages.
example output
