FWIW:
I measured the performance of the client-side scribe
interface in cthrift for a few different data-points. I'm only reporting
the serialization times, not the time spent in the single write per
call.
list size 1 category="" msg="": 2755
ticks
list size 100 category="" msg="": 122489
ticks
list size 1 category="" msg=1000B: 2904
ticks
list size 100 category="" msg=1000B: 198899
ticks
I'm running a 2.6GHz Pentium dual-core E5300 with cygwin on
top of Vista Home Premium. All numbers are measured using RDTSC. Numbers
are the average of a 1000 message sends.
The scribe interface
is:
enum ResultCode{
OK,
TRY_LATER
}
struct LogEntry{
1: string category,
2: string message
}
ResultCode Log(1: list<LogEntry> messages),
> I don't have metrics on hand, but you almost always want to wrap
your base
> transport with a buffered or framed transport. At
least in my experience
> with Ruby and Java, a buffer makes all
the difference.
>
> -Bryan
>
> On Sun,
Mar 7, 2010 at 7:57 PM, <ma...@bestweb.net> wrote:
>
>>
>>
>>
>> Does anyone have any
performance metrics for Thrift generated
>> client-side code?
C++ would be nice.
>> As you might guess, I'm trying
>> to estimate the difference in the performance of the Thrift
generated
>> C++
>> code for TBinaryProtocol over
TSockets or TBufferedTransports and the C
>> code generated by
cthrift.
>>
>> Thanks!
>> Mayan
>>
>>
>>
>