[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PCL 70 times slower than Ernie with 1000 cars.


1. I talked to the creator of ERNIE, he says that the major difference
between ERNIE and PCL that he could see right off was that ERNIE
allows you to put declarations on your methods that get around 
the dispatching problem (it is not required though).  Message invokations are 
then straight function calls.  Gregor, I appreciate the defstruct version
of the carwash program, but myself and everyone else at RAND feels that it is
missing the whole point.  They say that typecases are known to be slow.
They are not suprised that they typecase version is slower than PCL.  The
fact is that if you use the correct declarations in Ernie there is
no typecaseing or method dispatch problem, it's just a flat out (call subr).

2.  I ran the carwash with 1000 objects with KCL on the SUN 3/60 and
it was twice as slow as the Allegro version.  I kept an audit trail
of page faults and I got very little.

3.  I can't give out anything on ERNIE.  I don't know if you are
familiar with Daniel Ellesberg, but he walked out of RAND with the 
Pentagon Papers and ever since then RAND is super uptight about letting
anything out.  I would have to get about 8 people to approve it and it
would take about a month or more.  If I just send it out, I could get Fired.
I'm allowed to talk about it though.  I don't make these rules.  I did
have someone else here (Bruce Florman) go over the code in both PCL and
ERNIE versions and he said they were the same execept for the special 
declares for methods in ERNIE.  I don't think that the comment that
I must've screwed up when I converted from ERNIE to PCL 
is constructive.  If there is a faster way to code the carwash simulation
in PCL, then show me?  

4.  As for garbage collection, the PSL image that I run ERNIE in is 10 megs,
compared with about 4.5 megs for the Allegro I run PCL in.  That may 
account for the fact that there is no GC's when I run ERNIE.

5.  When I find some time, I will convert Gregor's defstruct version
    of the carwash so that there are no typecases (ie. get rid of the
    general purpose functions.)  I think that would greatly speed up
    the defstruct version.