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