I was curious about this so I wrote a couple of small standalone
programs, one using the loopback
interface and one using ArrayBlockingQueue to send byte arrays from
one thread to another.

The loopback version is about 50% slower than the ArrayBlockingQueue:

Reader: read 4000000 tuples of size 128 in 3893 ms    (ArrayBlockingQueue)
Writer: wrote 4000000 tuples of size 128 in 3893 ms

Writer: wrote 4000000 tuples of size 128 in 5783 ms    (Loopback)
Reader: read 4000000 tuples of size 128 in 5820 ms

Ram

On Fri, Nov 13, 2015 at 11:19 AM, Isha Arkatkar <[email protected]> wrote:
> Hi all,
>
>    For APEX-259 (https://malhar.atlassian.net/browse/APEX-259), I am
> exploring option of passing serialized tuples from publisher to buffer
> server through a blocking queue.
>
> Right now, publisher and buffer server reside within the same container,
> however, communication between the two goes though sockets. We want to
> check if we get any performance benefit by changing this communication to
> queue-based one.
>
> This is in exploration phase right now, but if we do see improvement, we
> may want to provide it as a pluggable option.
>
> Please let me know your thoughts!
>
> Thanks,
> Isha

Reply via email to