On 5 Jul 2010, at 13:21, Manik Surtani wrote:
What sort of socket do you use? Depending on this,
socket.getOutputStream() may be the most efficient (if it is a zero-copy NIO buffer for
example).
SocketChannel socketChannel = SocketChannel.open(serverAddress);
*socket* = socketChannel.socket();
Why do you need to hang on to the byte[] representation for keys?
I need it for
hashing calculation, as java hotrod client is distribution aware.
On 5 Jul 2010, at 11:10, Mircea Markus wrote:
> Hi,
>
> On HR we serialize the (key, value) pairs before sending them to the client.
> Current approach is we transfer them into an byte[] using an
ByteArrayInputStream/ByteArrayOutputStream and then write them over the network with
socket.getOutputStream().write(byte[])
>
> What I'm looking for a better way of serializing, by reusing byte arrays.
> One approach would be to use an pool of ExposedByteArrayOutputStream, pool's size
being == number of tcp connections between client and server. My concern with this
approach is that if one is using a large value (e.g. 100MB ) once in a blue moon, than
I'll always keep an 100MB array in memory, cached, even though I don't want it.
>
> Another approach would be to use use existing code for keys(i.e. serialize them into
an byte[]), which are expected to be smaller, and for values to write directly in the
socket, through socket.getOutputStream(). This way I won't have the 100MB issue and
also I won't create an byte[] for each value (I need to do that for keys though, as I
need access to key's byet[] for computing its hash code).
>
> Any suggestions much appreciated!
>
> Cheers,
> Mircea
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik(a)jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev