Previous: The Test Programs.
Up: Performance Results
Previous Page: The Test Programs.
Next Page: Conclusion
The performance results for the G--machine implementation as a RISC processor have been taken from [10], the results for the SPARC processor have been measured on a SPARCstation 1 [16], where the programs have been written in C and compiled with the highest optimization level available. The processor of the SPARCstation 1 has a cycle time of 50ns (20MHz Clock), the processor of Kieburtz has an estimated cycle time of 100ns, and the times for CAST are computed with 200ns cycle time. The prototype runs currently merely stable with 250ns cycle time since some ICs were only available in slower models than assumed in the simulation.
The performance figures (0.1) show that the SPARCstation cannot take advantage of its four fold better cycle time. The generated code for the integer programs is quite similar for SPARC and CAST. All programs are heavily recursive and each function has only few parameters and performs only a small amount of work. Therefore, the register windows of the SPARC processor are utilized badly, and many over/underflows must be handled, which slows down execution significantly.
Even though Kieburtz' processor has a two times better cycle time (which is only estimated), it can only reach for one program the execution speed of CAST. An explanation of this behavior is impossible without a deeper knowledge of the compiler and the generated code.