Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] ajc performance

When compiling the 357 java files that make up the
AspectJ tools and rt jars, ajc seems to be 2-3X
slower than javac-jikes.  Because it loads more
slowly, the effect would be more pronounced for
small projects.

Time (seconds) to compile from command-line
on a 233Mhz(!) NT(!) (view with fixed-with font):

             one file all files net   relative
jikes 1.1.8  <1       19        19    1
javac 1.4     6       37        31    1.6   1
javac 1.3     3       39        36    1.9   1.2
ajc 1.1.0    11       67        56    2.9   1.8
ajc 1.1.1    11       67        56    2.9   1.8

(Rerunning produced numbers off by as much as 10%,
but these are about average.)

I'd like to see what the eclipse compiler does
when used from the command line (links?).

Also, someone should try this on projects with
2000+ files.  Any favorite open-source projects?
Someone should also try checking large projects
to see if compiling first with jikes and weaving
with ajc could result in a faster process.

An interesting comparison would be between ajc
compiling code that uses AspectJ to implement
crosscutting concerns, and javac/jikes compiling
Java code implementing the same concerns, but
again, we don't have that test suite.

It would also be interesting to compare jikes
in incremental mode with ajc.  (Or to compare ajc
using AspectJ to change a crosscutting concern with
eclipse and refactoring?) or...

> Is there any on-going work to speed up ajc?

Yes, but the priority is below language bugs
and some other things.

If/since we have incremental compilation, do you
think that we need to match Javac's batch compilation
speed before teams will adopt AspectJ?

Wes

DiFrango, Ron wrote:

Mark,
I would say no! In my experience, ajc does take longer than javac. In our
system it takes around at least 3 to 5 times as longer to compile the entire
project with ajc.  In order to mitigate this time, we use the listing file
mechanism so that ajc only processors those files that are affect by our
aspects.
And before any one says this is bad we are talking a 2 to 3 minute build
using this two-phase approach versus a 10 to 15 minute build time with ajc.
This is significant over the course of a day when you are doing heavy
development work.
I have not used jikes so I am uncertain of its performance relative to javac. Thanks, Ron DiFrango
-----Original Message-----
From: Volkmann, Mark [mailto:Mark.Volkmann@xxxxxxxxxxxxx] Sent: Friday, September 05, 2003 8:46 AM
To: aspectj-users@xxxxxxxxxxx
Subject: [aspectj-users] ajc performance



Is this statement pretty accurate?
"Compiling with ajc takes approximately the same amount of time as compiling
with javac which takes about five times as long as jikes."

Is there any on-going work to speed up ajc?


----------------------------------------------------------------------------
--------------
A.G. Edwards & Sons' outgoing and incoming e-mails are electronically
archived and subject to review and/or disclosure to someone other than the recipient.

----------------------------------------------------------------------------
--------------


**************************************************************************
The information transmitted herewith is sensitive information intended only
for use by the individual or entity to which it is addressed. If the reader
of this message is not the intended recipient, you are hereby notified that
any review, retransmission, dissemination, distribution, copying or other
use of, or taking of any action in reliance upon this information is
strictly prohibited. If you have received this communication in error,
please contact the sender and delete the material from your computer.




Back to the top