Fwd: Re: [jcifs] Does jcifs use an internal buffer
Christoph Held
christoph.held at est.fujitsu.com
Fri Jul 8 12:16:25 GMT 2005
Hallo Inge,
die Antwort auf die JCIFS Frage von dem JCIFS Forum:
---------- Weitergeleitete Nachricht ----------
Subject: Re: [jcifs] Does jcifs use an internal buffer
Date: Donnerstag, 7. Juli 2005 23:53
From: "Michael B Allen" <mba2000 at ioplex.com>
To: "Christoph Held" <christoph.held at est.fujitsu.com>
Cc: jcifs at lists.samba.org
Christoph Held said:
> Fujitsu EST is delivering jcifs with the Fujitsu Enabler product.
>
> I am wondering if jcifs uses an internal buffer.
>
> I have noticed that the read() function of SmbFileInputStream class is
> quite
> slow. Wrapped in a BufferedInputStream the read() function of
> BufferedInputStream is about 500 times faster. The conclusion is, that
> jcifs
> does not use an internal buffer (at least in our configuration).
>
> My questions are:
> 1. Is this conclusion correct?
Yes, SmbFileInputStream (like FileInputStream) is not buffered. The byte[]
buffer provided to read() is passed directly to the underlying socket
read(). If you're seeing poor performance you should try a larger byte[]
buffer or perhaps wrap it in a BufferedInputStream. It really depends on
the situation.
> 2. Should we recommend our customers, always to wrap the
> SmbFileInputStream in
> a BufferedInputStream?
I don't know about "always". If you use a sufficiently large byte[] buffer
(e.g. 8192) I don't think you should see any real performance difference.
If anything the direct read should actually be faster. With the
BufferedInputStream you're doing two System.arraycopys.
You could just add a little note in your docs like:
"Note: SmbFileInputStream and SmbFileOutputStream are not buffered. It may
be desireable to wrap these with BufferedInputStream and
BufferedOutputStream respectively depending on the situation."
Mike
-------------------------------------------------------
_______________________________________________________________________________
This message has been scanned for all known virus by OMNIQuad Mailwall Remote.
_______________________________________________________________________________
This message has been scanned for all known virus by OMNIQuad Mailwall Remote.
More information about the jcifs
mailing list