[kepler-dev] More performance improvements

Edward A. Lee eal at eecs.berkeley.edu
Sat Sep 30 17:54:08 PDT 2006


I'm checking in some changes where the Manager avoids calling
validateSettables() between runs.  This call is quite expensive,
and for some actors, triggers re-doing scheduling and type checking.
The change makes many more models run quickly the second and subsequent
times.

Unfortunately, there were a few actors with bugs that this exposed,
so I have fixed those in the Ptolemy tree.  Are there regression tests
in Kepler to test the actors?  In particular, it is essential that
the regression tests run models twice.

The most common error in the actors was to rely on attributeChanged()
being called between runs.  That is, a few actors were performing
functions in attributeChanged() that they really should have been
performing (as well) in preinitialize() or initialize().

Gang and Jackie: These changes break things in the C code generation,
which leads me to believe the mirror classes (like SDFDirector) are
not doing the right initialization, but are relying on attributeChanged()
getting called.  It is no longer called between runs unless attribute
values change. Can you take a look?

Edward


------------
Edward A. Lee
Professor, Chair of EECS
231 Cory Hall, UC Berkeley, Berkeley, CA 94720-1770
phone: 510-642-0253 or 510-642-0455, fax: 510-642-2845
eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal  



More information about the Kepler-dev mailing list