HI! Some days ago, I have posted benchmarks for bcel and tt-bytecode in the user mailinglist. Any comments on this?
Also, both algorithms in Axis (old bcel and new tt-bytecode) have the same flaw, if
for example one parameter is a String.
Consider this method signature:
public String parameterTest(short s, int i, double d, String t, boolean b)
Now, both algorithms cannot find out the name of the String parameter, because there
is a gap in the local var table. Instead, the boolean parameter gets the name of the
String parameter. So Axis, sees the names like this:
{s, i, d, null, t}
And so, in the WSDL, it's
parameterTest(s, i, d, in3, t)
I have fixed this in my benchmark and also in yesterday's ClassRep.java. I made also
the changes for better performance of tt-bytecode, although it still takes twice as
long as bcel (but it's MUCH faster than before). I don't know, if you want to
integrate the performance enhancement, because it's a little bit kludgy. See for
yourself.
Please find attached:
- GetParamBench3.java (my benchmark, including bugfix and performance enhancement)
- ClassRep1.java (version including the bugfix)
- ClassRep2.java (version including the bugfix and performance enhancement)
Regards,
Thomas
GetParamNamesBench3.java
Description: GetParamNamesBench3.java
ClassRep1.java
Description: ClassRep1.java
ClassRep2.java
Description: ClassRep2.java
