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.

Reply via email to