[ 
https://issues.apache.org/jira/browse/THRIFT-3217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14613505#comment-14613505
 ] 

Ben Craig commented on THRIFT-3217:
-----------------------------------

Beefed up the performance test a bit.  Here's my latest snapshot from my 
Windows laptop...

Write big endian: 639.91 kHz
 Read big endian: 319.973 kHz
Write little endian: 799.936 kHz
 Read little endian: 399.957 kHz
Write big endian: 639.914 kHz
 Read big endian: 319.976 kHz
Double write big endian: 22856.2 kHz
 Double read big endian: 26665.2 kHz
Double write little endian: 58172 kHz
 Double read little endian: 29088.1 kHz
Double write big endian: 26663.9 kHz
 Double read big endian: 29088.6 kHz


There appears to be a big win with write doubles little endian.  I think that 
is because there is less crossing between the floating point and integer 
domains.  The read side of things has more intermediate copies, and I think 
that is reducing the value of eliding the endianness change.

> Provide a little endian variant of the binary protocol in C++
> -------------------------------------------------------------
>
>                 Key: THRIFT-3217
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3217
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Library
>    Affects Versions: 0.9.3
>            Reporter: Ben Craig
>            Assignee: Ben Craig
>
> Most computers these days are little endian.  With Thrift's current binary 
> protocol, we end up adjusting endianness on both sides of the connection most 
> of the time.  We should provide a variant that is optimized for the common 
> case of little endian machines.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to