Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] load-time bytecode weaving

Volkmann, Mark wrote:
> Is running jikes on all the classes, putting the .class files in a JAR, and
> running ajc with the -injars option likely to be faster than just running
> ajc on all the source files?

It would be interesting to run some tests to compare ajc-sources
with ajc-binaries + javac/jikes.  ajc should be on par with
Eclipse for compile performance, with some time added
during weaving (how much depends on the aspects).  That weaving
time should be compared with the time it would take to compile a
pure-java program of the same functionality, which I suspect
would be longer if/since the implementation would be scattered.
Also note that it's possible to make ajc work unnecessarily
hard with wildcarded pointcuts and the like, so bad AspectJ
code can result in suboptimal compile/weave times.

But the big speed gain in 1.1 comes in incremental compilation,
where only the files that have changed (and the files they affect)
are recompiled.  So for iterative development, you're most likely
to get fast re-compiles using incremental compilation.

Also, since 1.1.0 is the first implementation of bytecode
weaving, there will likely be opportunities to optimize
performance in later releases.

Wes


-----Original Message-----
From: Ron Bodkin [mailto:rbodkin@xxxxxxxxxxx]
Sent: Friday, September 05, 2003 10:50 AM
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users] load-time bytecode weaving


Even today you can compile (pure Java) sources separately with javac or
jikes and use ajc to just link them after (using -injars). You need to use
ajc to compile AspectJ-specific sources (aspects and classes that use
AspectJ constructs), and will continue to need to do so even with a weaving
classloader.

I don't know what the status of an official load-time weaving classloader
is. There is a version that Martin Lippert contributed as an attachment to
the bug that tracks this enhancement request:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=31460.
Ron

Ron Bodkin
Chief Technology Officer
New Aspects of Security
m: (415) 509-2895


------------Original Message-------------
From: "Volkmann, Mark" <Mark.Volkmann@xxxxxxxxxxxxx>
To: "'aspectj-users@xxxxxxxxxxx'" <aspectj-users@xxxxxxxxxxx>
Date: Fri, Sep-5-2003 6:05 AM
Subject: [aspectj-users] load-time bytecode weaving
I've read that soon there will be a custom class loader available for
AspectJ that will provide load-time bytecode weaving.  When using that, I
assume we will be able to compile source files using javac or jikes instead
of ajc.  Is that correct?
Any guesses as to when that custom class loader will be available?

----------------------------------------------------------------------------
--------------
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.

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




Back to the top