On 20 March 2014 06:10,  <christian.kilpatrick.1...@gmail.com> wrote:
> Oh yes you are right. There was a mistake in my calculation.
>
> Well I'll try without the submessage. The count of docid and of score is
> always the same. So there is no Problem for me.
>
> But it's sad that java takes around 2 seconds to send the Message to the
> server, recieve the Response and display the response.
> And C++ takes 20-25 seconds only for this function call
> "srchResp.ParseFromCodedStream(&codedIn);" :(
> I don't think that changing the message will get me around 20 seconds :( Too
> bad.

If you man many things that need to be read into the repeated field,
maybe your memory allocator is running into trouble when resizing the
message all the time ? Since the repeated field does not know
beforehand how many objects are coming, it is forced to re-allocate
while parsing.

Just re-use the message object, as it can make use of the memory
already allocated. Create one C++ object, then use that to parse from
stream. When you're done with it,
re-use the same object for subsequent parse.
I think it is possible to somehow tell the repeated field beforehand
to reserve some capacity (similar to a vector<T>), but don't know that
right now.

-h

>
> --
> You received this message because you are subscribed to the Google Groups
> "Protocol Buffers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to protobuf+unsubscr...@googlegroups.com.
> To post to this group, send email to protobuf@googlegroups.com.
> Visit this group at http://groups.google.com/group/protobuf.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to