What architecture are you building for, and what level of optimization? On Wed, Dec 12, 2018 at 11:30 PM Roy Barda <[email protected]> wrote:
> Tried your approach, I have built my project statically against > protobuf-lite library (Release with the relevant compilation and linkage > flags) and reached a 7MB solution. > I wonder how you reached 135KB, thoughts? Is there anything else I should > do? > > Thanks, > Roy. > > On Fri, Dec 7, 2018 at 2:51 AM Adam Cozzette <[email protected]> wrote: > >> OK, you might want to ask on the gRPC mailing list why streams can't be >> used with the lite runtime. Maybe there is a plan to eventually add support >> for that, especially since it's common for mobile apps to use lite protos. >> >> On Thu, Dec 6, 2018 at 7:01 AM Roy Barda <[email protected]> wrote: >> >>> Yes, according to current gRPC implementation, stream can't be used with >>> LITE_RUNTIME configuration in the .proto file? >>> >>> Thanks, >>> Roy. >>> >>> On Tue, Dec 4, 2018 at 7:19 PM Adam Cozzette <[email protected]> >>> wrote: >>> >>>> For one Android binary I worked on recently, the protobuf runtime used >>>> about 135 KB of space. This was for an ARM build, and I imagine the amount >>>> could vary quite a bit depending on the platform and what runtime code you >>>> end up depending on. >>>> >>>> I'm not familiar with that gRPC issue, so you may want to ask the gRPC >>>> folks about that. Does the "stream" modifier prevent you from >>>> setting optimize_for = LITE_RUNTIME in the .proto file? >>>> >>>> On Mon, Dec 3, 2018 at 11:05 PM Roy Barda <[email protected]> wrote: >>>> >>>>> Thank you Adam for the detailed suggestion. >>>>> >>>>> 1. Can you please let me know what was the addition in KB/MB of >>>>> protobuf usage when you linked it statically to your Android code? >>>>> 2. Using libprotobuf-lite blocks me from using the "stream" modifier >>>>> (streaming feature) in gRPC, anyway to work around it? >>>>> >>>>> Appreciate your help, >>>>> Roy. >>>>> >>>>> On Tuesday, December 4, 2018 at 5:51:57 AM UTC+2, Adam Cozzette wrote: >>>>>> >>>>>> Do you plan to link statically or dynamically against the protobuf >>>>>> library? If you can link against it statically, I think you may find that >>>>>> the linker is able to remove a lot of unused code. For Android (which is >>>>>> an >>>>>> environment where we care a lot about code size), what we generally do >>>>>> is: >>>>>> - Use lite protos only (i.e. set option optimize_for = LITE_RUNTIME >>>>>> in every .proto file) >>>>>> - Link against libprotobuf-lite and not libprotobuf >>>>>> - Pass -ffunction-sections and -fdata-sections to the compiler and >>>>>> -Wl,-gc-sections to the linker to maximize the linker's ability to strip >>>>>> out unused code >>>>>> >>>>>> On Sun, Dec 2, 2018 at 10:34 PM Roy Barda <[email protected]> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I have build protobuf on my Ubuntu environment and saw that the >>>>>>> libraries size are extremely big. >>>>>>> >>>>>>> 28 MB for libprotobuf. >>>>>>> 4 MB for libprotobuf-lite >>>>>>> >>>>>>> I'm aware of nanopb project but I need to use gRPC with protobuf and >>>>>>> there is no good, working and maintained solution for nanopb. >>>>>>> >>>>>>> I followed the regular build process when I built protobuf (with no >>>>>>> special configuration) >>>>>>> >>>>>>> Is there any way to reduce the protobuf library footprint? We are >>>>>>> looking for a 1MB solution. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Roy. >>>>>>> >>>>>>> -- >>>>>>> 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 [email protected]. >>>>>>> To post to this group, send email to [email protected]. >>>>>>> Visit this group at https://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 [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at https://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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
