You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Glen Daniels <gd...@macromedia.com> on 2002/03/06 15:10:14 UTC

RE: Bugfix and performance enhancement for WSDL generation (Class Rep.java)

Thank you, Thomas!  I'll take a look at this today once I get in to work, and see about committing it.

--Glen

> -----Original Message-----
> From: Thomas Börkel [mailto:tb@ap-ag.com]
> Sent: Wednesday, March 06, 2002 8:45 AM
> To: Axis Dev Mailinglist
> Subject: Bugfix and performance enhancement for WSDL generation
> (ClassRep.java)
> 
> 
> 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
> 
>