[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-dev] BCEL vs ASM
|
It's not a stupid question... we've spent a good few hours deliberating
this.
AspectJ's weaver has an interface layer into which BCEL implementations
are plugged, so in theory we're well positioned to use ASM (I haven't
looked at the licensing issues). However, BCEL is the only implementation
that's ever been plugged into that interface so there have almost
certainly been some BCEL 'leaks' and the interface won't be perfect. The
big con of switching is that we have an existing BCEL implementation which
works and is validated by a large user community. (Our BCEL is also
significantly different to an "off-the-shelf" BCEL - it's much faster, has
some critical bug fixes, and supports Java 5 for starters). We decided
that doing two major changes in one go (Java 5 support and a BCEL swap)
was not sensible and so opted to continue building on BCEL for 1.5.0. Once
we get 1.5.0 stabilized though, weaver performance and memory usage are
important areas we want to focus on. Especially with Jonas and Alex
joining the project (and bringing their ASM experience with them) we'll be
collectively taking a long hard look at this question and deciding on what
to do. We'll do some initial proof-of-concept to validate the benefits of
the switch, if they outweigh the risk of doing the work, then AspectJ
could well be on ASM before the year is out.
-- Adrian
Adrian_Colyer@xxxxxxxxxx
Kev Jackson <kevin.jackson@xxxxxxxxxxxxx>
Sent by: aspectj-dev-admin@xxxxxxxxxxx
25/01/2005 09:46
Please respond to
aspectj-dev@xxxxxxxxxxx
To
aspectj-dev@xxxxxxxxxxx
cc
Subject
[aspectj-dev] BCEL vs ASM
I'm new here, so I'm probably asking a stupid question, but...
Would it be possible to replace BCEL with ASM[1]? Does it provide the
same level of manipulation that BCEL does, and if so what's the reason
for not using it?
Pros for switching to ASM:
- smaller jar, so smaller distribution of AspectJ
- allegedly much faster
- allegedly more memory efficient
Cons
- license issue?
- compatibility issues
Any thoughts?
Kev
_______________________________________________
aspectj-dev mailing list
aspectj-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-dev