I know this is an old thread, but I thought I would share what I
found, since I can't share code.


The UnsynchBufferedOutputStream usage in calculateDigest seems
superfluous to me.  I think if you look carefully at
XMLSignatureInput, you'll find that all but one path is using block
I/O already.  Doubling up block and buffered I/O just makes heavy
lifting paths slower, not faster, even with the shortcuts for large
blocks.

More generally, I think the utility of UnsynchBufferedOutputStream is
essentially less than zero at this point.  I suspect you'll find that
under JDK 1.5 or later, you can't perceive a noteworthy difference
between this class and BufferedInputStream, when used as it is used
here.  I wouldn't be shocked to discover that you're actually getting
worse performance than BufferedOutputStream, having hurt your
performance by bifurcating the code paths that Hotspot has to
investigate.  Only under JDK 1.4 does this code still genuinely
accomplish something, and I'm not convinced the added complexity is
worth that gain.

-Jason

On 4/9/07, Raul Benito <[EMAIL PROTECTED]> wrote:
> There is no such thing as xml security benchmark, I try to do one myself
> several time, but the lack of time always made me postpone.
> In order to test my changes I use a slightly modified copy of the old
> xmlbench, it only tests inclusive-c14n and enveloping signatures. But it
> works for seeing what can be optimized.
> I also test again time completion of our test suite, but this becoming more
> difficult. Because it use to take 120 seconds to run, now it only takes 2-3
> and the speed improvements are harder to see.
>
> You can also try a loop of several thousands verification and decoding. So
> you can try to measure the speed up.
>
> If I can help you, don't hesitate in asking.
>
> Regards,
>
> Raul
>
>
>
> On 4/7/07, jason marshall < [EMAIL PROTECTED]> wrote:
> > There's a spot in the MessageDigest calculations where all but one
> > path through the code doubles up Buffered I/O and Block I/O.  I've
> > been working on a patch to hoist the buffering into the one path that
> > needs it.  This gives my path a nice little throughput boost, but I'm
> > wondering if I've caused regressions along the other paths.
> >
> > Raul, do you have a set of benchmarks you were using when doing the
> > 1.4 tuning work?  Before I try to push a patch through the complicated
> > IP system at work, I'd like to have an idea if it will get accepted or
> > not.
> >
> > --
> > - Jason
> >
>
>
>
> --
> http://r-bg.com


-- 
- Jason

Reply via email to