Leon --
> Sky asked me if anyone had done any simple benchmarks comparing JVM
> and PVM at this point. Now, I know we're still at an early stage and
> haven't really looked at speed, but a trivial counting and simple
> arithmetic benchmark:
Here's an implementation of the code in Jako. I haven't checked in
the version of the compiler that compiles it yet because there's a
patch that needs to be applied to the assembler first. I'm also
attaching the bench.pasm file the compiler generates.
Regards,
-- Gregor
_____________________________________________________________________
/ perl -e 'srand(-2091643526); print chr rand 90 for (0..4)' \
Gregor N. Purdy [EMAIL PROTECTED]
Focus Research, Inc. http://www.focusresearch.com/
8080 Beckett Center Drive #203 513-860-3570 vox
West Chester, OH 45069 513-860-3579 fax
\_____________________________________________________________________/
#
# bench.jako
#
# Based on Bench.java posted to [EMAIL PROTECTED] by
# Leon Brocard <[EMAIL PROTECTED]> on 2001-09-15. Note that the
# only differences between the Java version and the Jako
# version are:
#
# * 'var int ...' vs 'int ...' for variable declaration.
#
# * The commented-out print line (which is simpler in Jako).
#
# * The presence of the 'end' statement at the...well...at the
# end.
#
# * The use of the variable n instead of the constant 10000
# in the conditions of the while loops.
#
# Copyright (C) 2001 Gregor N. Purdy. All rights reserved.
# This program is free software. It is subject to the same
# license as Perl itself.
#
var int q = 1;
var int w = 1;
var int i = 1;
var int j = 1;
var int n = 10000;
while (q < n) {
w = 1;
while (w < n) {
i++;
j += i;
w++;
# print("$q, $w\n");
}
q++;
}
end
# This file produced by the Jako Compiler
#
# bench.jako
#
# Based on Bench.java posted to [EMAIL PROTECTED] by
# Leon Brocard <[EMAIL PROTECTED]> on 2001-09-15. Note that the
# only differences between the Java version and the Jako
# version are:
#
# * 'var int ...' vs 'int ...' for variable declaration.
#
# * The commented-out print line (which is simpler in Jako).
#
# * The presence of the 'end' statement at the...well...at the
# end.
#
# * The use of the variable n instead of the constant 10000
# in the conditions of the while loops.
#
# Copyright (C) 2001 Gregor N. Purdy. All rights reserved.
# This program is free software. It is subject to the same
# license as Perl itself.
#
# q: I1
set I1, 1
# w: I2
set I2, 1
# i: I3
set I3, 1
# j: I4
set I4, 1
# n: I5
set I5, 10000
_W1_NEXT: lt I1, I5, _W1_REDO, _W1_LAST
_W1_REDO:
set I2, 1
_W2_NEXT: lt I2, I5, _W2_REDO, _W2_LAST
_W2_REDO:
inc I3
add I4, I4, I3
inc I2
# print("$q, $w\n");
branch _W2_NEXT
_W2_LAST:
inc I1
branch _W1_NEXT
_W1_LAST:
end