Re: [abc] Observer slowdown and approve numbers - help

From: Pavel Avgustinov <pavel.avgustinov@magdalen.oxford.ac.uk>
Date: Sat Mar 11 2006 - 18:48:53 GMT

Prof. Laurie HENDREN wrote:

>Oege is worried about the following:
>
> missing data for APproVE
>
> that we don't know why Observer/AJHotDraw slows down so much
>
>I could take a crack at trying to understand the Observer/AJHotDraw
>problem, but I need to be directed to the exact place to look for
>the source and class files to study. (Sorry to be so far out of the
>loop ...).
>
>Who can point me in the right direction?
>
Observer/AJHotDraw is in tmbenches/ajhotdraw in cvs.

The ajhotdraw/ directory contains two subdirectories: ajhotdraw-fresh
and ajhotdraw-tm. ajhotdraw-fresh is the unmodified AJHotDraw as it is
distributed (in particular, the observer pattern is implemented natively).

ajhotdraw-tm/ contains, somewhat confusingly, an aspectual
implementation of the observer pattern as well as two tracematch
implementations -- a 'naive' one and an 'optimised' one. You can compile
these with compile-{aspect,naive,opt}.sh (I think) in
ajhotdraw-tm/ajhotdraw-src. You can run the benchmark with ./run.sh in
the same directory. If you invoke it as "./run.sh ../../benchmark.draw"
(you may have to do a cvs update), it will automatically load the
benchmarking file and start the animation, and quit when it finishes
100000 iterations.

As I understand it, Neil had to work quite hard to rip out the bits of
Java that implemented the observer pattern in ajhotdraw-fresh. The
aspect version essentially just puts them back with ITDs, which is why
there is hardly any slowdown from -fresh to -aspect.

The tracematch versions do things more "honestly", without assuming that
part of the observer infrastructure is already in the base code.

The source for aspect and TM observer implementations is in
ajhotdraw-tm/ajhotdraw-src/src/aspects/*.

By all means try to get one of us on IRC if you run into trouble.
(Apologies for my prolonged silence on IRC today.)

- P
Received on Sat Mar 11 18:48:54 2006

This archive was generated by hypermail 2.1.8 : Tue Mar 06 2007 - 16:13:27 GMT