Mario Emmenlauer created THRIFT-5192:
----------------------------------------

             Summary: Is the buffered transport much slower?
                 Key: THRIFT-5192
                 URL: https://issues.apache.org/jira/browse/THRIFT-5192
             Project: Thrift
          Issue Type: Improvement
    Affects Versions: 0.13.0
            Reporter: Mario Emmenlauer


I've used the current HEAD version of thrift for a benchmark of various 
transports, protocols, servers etc. My focus right now is on throughput on the 
local machine, so getting as many bytes as possible from one process to another 
in a short amount of time.

Generally, the good news, first, Thrift can be very fast and on a range of 
modern desktop computers I get a top throughput between processes in the range 
of 4-6Gb/sec.

But there is one aspect that is striking: There is one transport that performs 
worse than what I would have expected, and this is the "buffered" transport. As 
an example, I can achieve around 5Gb/sec with a plain domain socket transport, 
and still an impressive 3.6Gb/sec by wrapping a "framed" transport. Wrapping 
with a "header" transport still gives 3.3Gb/sec, and the fastest "http" 
transport achieves 2.6Gb/sec.

Then comes a huge gap, before the fastest contestant with "buffered" transport 
shows up with 1.3Gb/sec.

Does anybody have any hints as to why "buffered" may be so much slower? What is 
the difference between the buffering in "framed" that makes it almost 3 times 
faster?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to