Category : C Source Code
Archive   : SIOD30.ZIP
Filename : SIOD.TIM

 
Output of file : SIOD.TIM contained in archive : SIOD30.ZIP
Timings with SIOD version 3.0, Run by [email protected]

You can run the benchmark to determine the overhead of interpretation
using this command line:

siod -g0 -isiod.scm -h150000 "-e(standard-fib 22)"
siod -g0 -isiod.scm -h150000 "-e(cfib 22)"

Divide the standard-fib (interpreted) by the cfib (compiled) times.
Should be about 10 if your machine has reasonable floating point.

If your machine is too fast, try fib of 25 or 30.

Machine, OS, Compiler (standard-fib 22) (cfib 22) Ratio
-------------------------------------------------------------------
DECpc AXP 150, WINDOWS NT, MSC 1.16 0.094 12.3
DEC 3000 Model 500, VMS, DEC C 1.2 0.14 8.6
Solbourne 6E/900, SUNOS, GNU C 2.3 0.38 6.1
INTEL 486-DX2/66, WINDOWS NT, MSC 3.14 0.54 5.8
VAXstation 4000-90, VMS, VAX C 3.9 0.35 11.1
VAXstation 4000-VLC, VMS, VAX C 16.9 1.64 10.3
VAXstation 3200, VMS, VAX C 37.6 3.58 10.5
MAC-SE 30, THINK-C 5.0 94.1 49.60 1.9
VAXstation 2000, VMS, VAX C 101.9 9.68 10.5
---------------------------------------------------------------------

Other interesting benchmarks are

siod -g0 -isiod.scm -h150000 "-e(length (loop-test 4 t))"
siod -g0 -isiod.scm -h150000 "-e(length (cloop-test 4 t))"
siod -g0 -isiod.scm -h150000 "-e(loop-test 4 nil))"
siod -g0 -isiod.scm -h150000 "-e(cloop-test 4 nil))"

-----------

Timings, SIOD v2.7-2.9

Make Model FIB(5) FIB(10) FIB(15) FIB(20) 20/FIB(20)
DIGITAL DECpc AXP 150 0.4
DIGITAL DEC 3000 500 0.4
DIGITAL VAXSTATION-4000/90 0.00 0.01 0.12 1.30
SUN 4/690 0.00 0.00 0.10 1.27
DIGITAL VS-3200(VMS) 0.01 0.10 1.23 13.6


Here are some timings taken with version 1.3 of SIOD. The new version 1.5
is slightly faster. If you do timings it is interesting to try it
with and without the mark-and-sweep GC, and with various heap sizes.

Please report both total and GC times, heap size, and kinds of GC's used
to: [email protected]

Make Model FIB(5) FIB(10) FIB(15) FIB(20) 20/FIB(20)
Sun 4 0.00 0.02 0.38 4.2 4.76
DIGITAL 8530(VMS) 0.00 0.07 0.78 8.5 2.35
Sun 3/280 0.00 0.10 0.88 8.5 2.35
DIGITAL VS-3200(VMS) 0.01 0.11 1.28 14.2 1.41
Sun 3/180 0.02 0.15 1.56 17.5 1.14
Encore Multimax(NS32) 0.02 0.17 1.85 20.5 0.97
DIGITAL VS-2000 0.02 0.30 3.56 39.7 0.50
Encore Multimax(NS16) 0.03 0.33 3.63 40.4 0.49
AMIGA 500 LATTICE C 0.00 0.00 5.00 55.0(x) 0.36

Unix compilations done with the -O flag. All 68020 machines
with -f68881. Heap size of 120000 used. Timing done with standard-fib
procedure in siod.scm using SIOD Version 1.3 (which is slightly slower
than earlier versions). AMIGA 500 FIB(20) time is extrapolated from
the FIB(15) time.

Check to be sure that your standard-fib returns the following:

n FIB(n) Cons Work
5 5 66
10 55 795
15 610 8877
20 6765 98508

(Figures above for -n0, no inums)

-----------

fib in perl:

sub fib
{
local($x) = @_;
($x < 2) ? $x : &fib($x-1) + &fib($x-2);
}

sub myruntime
{
local(@t) = times; # in seconds
$t[0] + $t[1];
}

$x = (shift || 20);
print "Starting fib($x)\n";
$before = &myruntime;
$y = &fib($x);
$after = &myruntime;
printf("Done. Result $y in %g cpu seconds.\n", $after-$before);

fib(20)
SIOD Perl Ratio
Solbourne 6E/900, SUNOS, GNU C 0.85 6.7,7.9 7.88



  3 Responses to “Category : C Source Code
Archive   : SIOD30.ZIP
Filename : SIOD.TIM

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/