"Stein M. Eliassen" wrote:
>
> Keith Visco wrote:
> > Hi Scott,
> >
> > Nice catch! I've updated the CVS with your patch!
> >
> > Thanks,
> >
>
> I read in some article on deverloperworks that Castor's unmarshalling
> was the slowest compared to other tools.
It all depends on what you need and how you configure Castor I suppose.
Don't forget that most of those comparisons are done by people who don't
have a need for all of Castor's features, so they write their own
frameworks that suit their needs and then write their comparison
articles as a way of self-promotion or shameless advertising. I've yet
to see a truly unbiased comparison article by someone who took an
indepth look at each of the available frameworks. Every one I've found
has been written by someone who has written their own framework or work
for a company that has one. And they usually compare Castor without
doing any of the configuration that can be done to improve the
performance for the specific tests they are running. The more features a
marshalling framework offers, the slower it's probably going to be.
With that said however, Castor could certainly use some performance
tuning, and probably is slower than some tools out there. While some
performance tuning has been done along the way, more in depth profiling
and performance analysis needs to be done and performance tweaks added
where appropriate.
If anyone has any time to contribute to the project, providing us with
profile data would be a great way to contribute and help us find the
proper problem areas that could use some optimization.
>
> If that code-segment is executed a lot, some performance can be gained
> by creating the path-variable from a StringBuffer I suppose.
That code segment will be entered if Castor cannot find a descriptor in
the current parent class and must check the ancestor classes for any
"nested" fields that might actually belong to an ancestor. The location
attribute falls into this category. A StringBuffer may indeed help the
performance there, but there are most likely other areas which could be
optimized that would provide a greater gain.
As a side note, the location attribute code needs to be refactored a bit
to handle more advanced cases...and also to support child-numbers to
allow multiple fields to be grouped under the same location. Currently
this works only for unmarshalling, but not during marshalling.
--Keith
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev