Re: [abc] ecoop

From: Oege de Moor <Oege.de.Moor@comlab.ox.ac.uk>
Date: Mon Dec 20 2004 - 13:36:59 GMT

On Sun, 19 Dec 2004, Damien Sereni wrote:

> Hi all, I've finished most of the changes I was planning to make, and
> will now be taking a bit of a break until this evening / tomorrow...
>
> One thing I haven't dealt with so far is the compile time section
> (6.2) - having had a closer look at the numbers, they'll take some
> explaining:
>
> - ajc+soot is similar to abc, but much slower than ajc - and in
> ajc+soot, soot has to input class files (and so run the type
> assigner), which it presumably doesn't need to do in abc
> - ajc is very much faster than abc -O0, and this seems as valid as
> comparing ajc+soot to abc. Why are the results so different?

Both Ondrej and I have looked into this. There is
no single reason why abc -O0 is slow; if you examine the breakdown,
it is a combination of Polyglot (cup parsers are very slow;
variable lookup takes time proportional to depth of hiearchy;
data flow framework uses expensive data structures) and
Soot (again the dataflow implementation is what seems to cost
most). I don't think there is something clear we can say at
this point, except that the components are not tuned for speed
at all.

I don't think comparing ajc and abc -O0 is like-with-like,
because in abc -O0, you still pay for the whole infrastructure
of optimisation - but without reaping the benefits. So
in my opinion, the important comparison is

  ajc + soot versus abc

bearing in mind that ajc+soot does not have the extensibility
advantage, so it is still to ajc's advantage to make this
comparison.

> - abc -O0 is rather noticeably slower than abc, which is
> unfortunate... Is this a bug or is there a reason for it? Is
> translation to bytecode made more difficult on unoptimised code,
> perhaps because of stupid numbers of locals?

This is most definitely not the case on larger examples, at
least not when I ran all benches on nikko, where abc -O0
wins big time over abc. So it may be an artifact of the
very small examples we chose: we chose those because there
was a pure Java equivalent. It may be a good idea to include
a row or three of larger examples to make the point that
abc -O0 being more expensive is an accident.

> Overall these things don't make too much of a difference, as in the
> end we compare ajc to abc anyway. It would be nicer to have a bit of a
> [short!] discussion of the numbers though; does anyone actually know
> the answers to these questions?? If so, you're more qualified to fill
> in this section than me

Sorry, but I don't have time to work on the paper today...

> Cheers,
> D
>
> --
> Damien Sereni
> Oxford University Computing Laboratory
> Wolfson Building, Parks Road
> Oxford OX1 3QD
> UK
>
> dsereni@gmail.com / dsereni@comlab.ox.ac.uk
> http://web.comlab.ox.ac.uk/work/damien.sereni
>
Received on Mon Dec 20 13:37:03 2004

This archive was generated by hypermail 2.1.8 : Mon Dec 20 2004 - 13:50:03 GMT