TOPBENCH was born out of a love/hate relationship with PC emulators. For example, I love DOSBOX’s ability to run old PC games on modern hardware, but I hate how its emulation speed is wildly inconsistent with how the real hardware behaves. It is impossible to know what you’re getting when you set a particular speed. I also like how MESS and other emulators attempt to be cycle-exact, but am frustrated than none of them truly are.
If emulators were the father of TOPBENCH, then older benchmarks themselves were the mother. Of all the early PC DOS benchmarks (Landmark Speed Test, Norton SI, C&T MIPS, many others), not a single one got everything “right”. For example:
- Norton SI used a laughably tiny code metric that tested less than 1% of the CPU
- Landmark confusingly reported its metric as a function of “80286 MHz speed”
- MIPS “instructions per second” did not indicate actual computing throughput
…and so on. The worst problem with all DOS-era benchmarks is that their metric code was completely unknown. You had no idea what the benchmark score you got was based on, and whether or not it applied to your situation.
To address these issues, I designed TOPBENCH.