[Openmcl-devel] Alpha-testing 0.14

Gary Byers gb at clozure.com
Fri Feb 28 16:58:58 PST 2003



On Fri, 28 Feb 2003, Sven Van Caekenberghe wrote:

> I did some test of 0.14 (latest CVS update of today).
>
> My xml-rpc code all compiled and ran fine (as far as I could tell):
> this means that simple MP usage has remained unchanged.
>

I'll try to port paserve; I think that it'd be a good example and
could serve as the basis for a porting guide.

> I also ran Eric Marsden's cl-bench Benchmarks, comparing 0.13.4 to
> 0.14, on my PowerBook G4 / 667 (Gigabit Ethernet, thus no L3 cache).
> All benchmark code compiled and ran OK (or so it seemed).
>

With the exception of the hash-table tests (which now have to deal with
OS-level locking), I'd expect things to be slightly faster in 0.14; I
don't know that I'd even expect that difference to be measurable.

It's surprising that there seems to generally be a measurable difference
in the other direction.

I'd have expected STAK to be slightly faster in 0.14 (for fairly
obscure reasons related to how special binding/reference work now).  I
tried it a moment ago on a 700MHz eMac; 100 iterations of (STAK 18 12
6) took a little less time (both real-time and run-time) in 0.14 than
in 0.13.4, which is consistent with my expectations.  I wouldn't
expect a 2X difference in either direction, and I wonder how Eric's
code obtained that result.

I -think- that things should be a little faster in most cases, because
the "background noise" associated with the cooperative scheduler has
been eliminated.  (Try running "top" in the shell when the lisp is idle;
I think that it overstated the background noise in 0.13, but it doesn't
seem to indicate that the lisp is working very hard to do nothing in 0.14.)

It's probably more important to worry about getting things right at this
stage than to worry about making them fast, but if there is some source
of overhead I'd like to better understand what it is.

> All this seems quite nice for an alpha version: I was trying to find
> some bugs ;-)

Please don't get discouraged: I think that we're still at the point where
just compiling and running code exposes bugs in parts of the system that
haven't been exercised ...

>
> Benchmark                 Reference  OpenM
> ------------------------------------------------------------------------
> -------------
> BOYER                          5.45   1.43
> BROWSE                         1.76   1.44
> DDerviv                        2.85   1.89
> Deriv                          4.79   1.94
> DESTRUCTIVE                    2.46   1.51
> DIV2-TEST-1                    3.45   2.11
> DIV2-TEST-2                    1.67   2.10
> FFT                           10.99   1.77
> FRPOLY/FIXNUM                  3.26   0.81
> FRPOLY/BIGNUM                  3.96   1.56
> FRPOLY/FLOAT                   2.33   1.30
> PUZZLE                        14.32   1.15
> CTAK                           2.28   1.13
> TAK                            1.92   0.95
> RTAK                           1.92   0.97
> TAKL                           5.62   0.98
> STAK                           2.28   2.06
> FPRINT                         4.76   1.43
> TRAVERSE                       6.67   0.99
> TRIANGLE                       4.91   1.11
> CASCOR                        54.37   5.93
> RICHARDS                       1.87   1.33
> FACTORIAL                      2.02   1.70
> FIB                            0.33   0.94
> BIGNUM/ELEM-100-1000           2.62   1.05
> BIGNUM/ELEM-1000-100          13.08   0.98
> BIGNUM/ELEM-10000-1           19.17   1.04
> BIGNUM/PARI-100-10             3.61   0.92
> BIGNUM/PARI-200-5             42.37   0.95
> HASH-STRINGS                   4.12   2.02
> HASH-INTEGERS                  1.53   3.36
> BOEHM-GC                      30.28   2.04
> CLOS/defclass                  0.88   1.10
> CLOS/defmethod                 0.30   1.47
> CLOS/instantiate              23.85   1.15
> CLOS/methodcalls              22.54   1.61
> CLOS/method+after              9.56   1.57
> CLOS/complex-methods           1.95   0.97
> 1D-ARRAYS                      5.59   1.65
> 2D-ARRAYS                     53.78   1.10
> BITVECTORS                     7.04   1.30
> FILL-STRINGS                  20.13   1.18
> fill-strings/adjustable       24.58   1.10
>
> Reference implementation: OpenMCL Version (Beta: Darwin) 0.13.4
> Impl OpenM: OpenMCL Version (Alpha: Darwin) 0.14-030225
>


_______________________________________________
Openmcl-devel mailing list
Openmcl-devel at clozure.com
http://clozure.com/cgi-bin/mailman/listinfo/openmcl-devel



More information about the Openmcl-devel mailing list