On Wed, Apr 15, 2015 at 9:56 PM, Gianluca Borello <g.bore...@gmail.com>
wrote:

> Hello,
>
> At my current company we're heavy protobuf users, but we started
> facing a big limitation: in the current Java implementation, since
> there's no lazy parsing, or ability to do direct sub-message parsing,
> we pay a huge penalty of time and, especially, memory (we have an
> articulated schema and the memory footprint is often 5X+ the
> serialized size) even when we just want to read a small subset of
> fields of a big protobuf (~10-100 KB).

I just checked the code and it seems lazy field for Java is already
included:
The protoc compiler code:
https://github.com/google/protobuf/blob/master/src/google/protobuf/compiler/java/java_lazy_message_field.h
Java runtime support:
https://github.com/google/protobuf/blob/master/java/src/main/java/com/google/protobuf/LazyField.java
And tests:
https://github.com/google/protobuf/blob/master/java/src/test/java/com/google/protobuf/LazyMessageLiteTest.java

It's either already working for Java, or only requires small tweaks for it
to work. Could you check if marking a field lazy makes any difference in
Java? If not please help file an issue on our github site.


>
> I understand that, according to [1] and [2], such feature has not yet
> been released and it will come at some point, but nonetheless I'd like
> to ping again to see if there's a more defined ETA (of course I
> realize this is an open source project so support and roadmap are
> shared at a best-effort).
>
If you are looking for lazy field support in C++, I think it mostly likely
will become a part of 3.0 official release (along with other possible
performance tweaks for the release).



>
> I am aware that there are projects (like flatbuffers) that might
> better suited for our use case, but we would really like to stick to
> protobuf because we have a huge code base already working on that, and
> we consider it the most stable and robust solution available.
>
> Thanks.
>
> [1]
> https://groups.google.com/forum/#!searchin/protobuf/lazy|sort:date/protobuf/2P4ge8MfYKw/dcsmXDPaE84J
> [2]
> https://groups.google.com/forum/#!searchin/protobuf/lazy|sort:date/protobuf/G9Jhv_xrxqg/tYcXzyy6zV8J
>
> --
> 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