hes (05/12/82)
Benchmarking the IBM PC As an example of a heavily computational program, I wrote a Basic program which fills two 10x10 matrices with values, and then multiplies them together. It is all done in single precision, with essentially no I/O. It took 18-19 seconds. (Same with disk and advanced BASICs.) I then ran it on a TRS-80 Model I Level II (unmodified with the normal 1.77 MHz clock) and it took 36-37 seconds. (Note that 2x or greater clock speed ups are available.) I also ran it on a standard North Star Horizon, with and without the floating point hardware board. Without the board it took 18 seconds and with the board it took 14 sec. (The Horizon has a Z-80 with a 4 MHz clock.) Several other cpu intensive programs gave the same relative performances. From these tests it appears that the IBM PC runs BASIC programs at a comparable speed to an 8080/Z-80 family cpu with a 4 MHz clock. Since the IBM PC is supposed to have its 8088 running with a 4.88 (?) MHz clock, it would appear that the present generation of IBM PC software does not take advantage of the internal 16 bit architecture of the 8088. (Or perhaps is just not as efficient as some older, more polished software.) --henry schaffer
kline (05/17/82)
#R:duke:-212900:uicsovax:3700002:000:742 uicsovax!kline May 14 11:14:00 1982 Even if the 8088 is taking advantage of the 16-bit architecture, It will be slowed by the fact that it only has an 8-bit external bus. Even with the 16-bit registers, floating point single precision values are represented by 32 or more bits, causing memory references through the just-as-slow-as-an-8080 8-bit bus. I would suspect that the 16-bit register advantage of the 8088 will manifest itself in integer arithmetic; where (in Microsoft BASIC anyway) integers are represented with 16-bit values, and thus the 8088 can keep the entire operands in itself while operating on them, cutting down on memory references and eliminating the bottleneck on the bus. I haven't, however, been able to get at an IBM PC to test out this theory.