next up previous contents
Next: The Fibonacci test Up: Performance Previous: Performance   Contents

VM performance

Although the virtual machine operates with instructions mostly at a much higher level that the usual computer processor instructions, there will be code in any program where we actually will get very little computational work done with a large number of instructions.

The need for such instruction-heavy code has been minimized by allowing most instructions to work on many different types of data, and by introducing the indexing scheme.

Still, it is absolutely vital that the virtual machine has a good performance not only on the single heavy instructions (such as the mult opcode on matrices), but also executes simple instructions at a high speed (such as mult on scalars).

A few comparisons have been done. Different sample programs are used to benchmark the performance on different computing platforms or languages. I mainly use MatLab, C, and Perl for comparison.

MatLab is used because it is in widespread use, and also executes interpreted code (according to the definition of ``interpreted'' in Section 1.4). C because it has virtually no instruction execution overhead. And Perl because this is also a virtual machine, but it is extremely fast.

I did not include Fortran tests because C should yield roughly the same performance.

The implementation of all the tests can be found in Appendix A.


next up previous contents
Next: The Fibonacci test Up: Performance Previous: Performance   Contents

1999-08-09