Open rdnelson opened 11 years ago
Running in release mode on Win32 I am able to produce ~200 KIPS by skipping the prints to screen using step over print_num.
Bottleneck is my CPU: i5 3570k, using only 1 of 4 cores. If we can split the work onto multiple cores exceeding 8086 execution speed may be sooner than expected.
I'm not sure that there's a way to parallelize the execution of the programs. They are written for a single core, and each step must be executed linearly.
The GUI updates should already be in a separate thread, although that should be confirmed.
Current speed is approximately ~47.5 KIPS.
The 4.77MHz 8086 was rated to have an execution speed of 0.33 MIPS (330 KIPS) and the 10 MHz 8086 was rated at 0.75 MIPS, (750 KIPS) [1]. This means that Libra should be sped up by ~7-16 times.
For reference, Virgo's execution speed is ~13.0 KIPS (~3.7 times slower than Libra.)
The Virgo and libra numbers were calculated using the print_numbers.asm file in the gui branch.
[1] http://lowendmac.com/lowendpc/tech/8086.shtml