You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by Doug Cutting <cu...@apache.org> on 2010/03/02 01:03:44 UTC
thrift-protobuf-compare
Don't know if folks have seen this benchmark:
http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking
It's a micro benchmark of Java serialization systems. I just posted a
patch to update it to use Avro 1.3.0:
http://code.google.com/p/thrift-protobuf-compare/issues/detail?id=23
Generic in 1.3.0 seems a bit faster than 1.2.0, but, unfortunately &
surprisingly, specific seems a bit slower than in 1.2.0. I think the
reason that generic is faster is perhaps the switch from a hashmap to an
array. But I would have thought other optimizations would have made
specific faster too, not slower.
Any ideas?
Doug
Re: thrift-protobuf-compare
Posted by Scott Carey <sc...@richrelevance.com>.
I wonder if AVRO-557 has made this faster?
On Mar 19, 2010, at 10:39 AM, Scott Carey wrote:
> How has it changed in the sub sections of the benchmark? Is it slower all around or only in encoding, decoding, or construction?
>
> I recall that Specific became an IndexedRecord in this release, along with Generic. Maybe there is something going on there.
>
> In any event, I think there are significant opportunities to optimize left all around.
>
> I want to plug it in to a profiler and have a look, but won't have time to do so and act on my findings until May. I'd use a sampling profiler, as I have found them significantly more accurate (but less precise) than an instrumenting profiler.
>
> -Scott
>
> On Mar 1, 2010, at 4:03 PM, Doug Cutting wrote:
>
>> Don't know if folks have seen this benchmark:
>>
>> http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking
>>
>> It's a micro benchmark of Java serialization systems. I just posted a
>> patch to update it to use Avro 1.3.0:
>>
>> http://code.google.com/p/thrift-protobuf-compare/issues/detail?id=23
>>
>> Generic in 1.3.0 seems a bit faster than 1.2.0, but, unfortunately &
>> surprisingly, specific seems a bit slower than in 1.2.0. I think the
>> reason that generic is faster is perhaps the switch from a hashmap to an
>> array. But I would have thought other optimizations would have made
>> specific faster too, not slower.
>>
>> Any ideas?
>>
>> Doug
>
Re: thrift-protobuf-compare
Posted by Scott Carey <sc...@richrelevance.com>.
How has it changed in the sub sections of the benchmark? Is it slower all around or only in encoding, decoding, or construction?
I recall that Specific became an IndexedRecord in this release, along with Generic. Maybe there is something going on there.
In any event, I think there are significant opportunities to optimize left all around.
I want to plug it in to a profiler and have a look, but won't have time to do so and act on my findings until May. I'd use a sampling profiler, as I have found them significantly more accurate (but less precise) than an instrumenting profiler.
-Scott
On Mar 1, 2010, at 4:03 PM, Doug Cutting wrote:
> Don't know if folks have seen this benchmark:
>
> http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking
>
> It's a micro benchmark of Java serialization systems. I just posted a
> patch to update it to use Avro 1.3.0:
>
> http://code.google.com/p/thrift-protobuf-compare/issues/detail?id=23
>
> Generic in 1.3.0 seems a bit faster than 1.2.0, but, unfortunately &
> surprisingly, specific seems a bit slower than in 1.2.0. I think the
> reason that generic is faster is perhaps the switch from a hashmap to an
> array. But I would have thought other optimizations would have made
> specific faster too, not slower.
>
> Any ideas?
>
> Doug