[zeromq-dev] embedding zeromq question

Thomas Taranowski tom at baringforge.com
Tue Jun 5 08:08:43 CEST 2012


You could try building with -ffunction-sections argument.  This places
each function in it's own section, which results in the linker
stripping out any unused functions.  I've had fairly good success with
code size reduction on embedded C projects, but have not tried it on
zmq.

Thomas Taranowski
Certified netburner consultant
baringforge.com


On Mon, Jun 4, 2012 at 10:52 PM, Michel Pelletier
<pelletier.michel at gmail.com> wrote:
> I missed joshua's size reports.  Mine's just a stock compile on a
> recent ubuntu.  Not sure why it's that much larger.
>
> -Michel
>
> On Mon, Jun 4, 2012 at 10:39 PM, Ishigo, Kelvin K <KKIshigo at directv.com> wrote:
>> Is that 2.7MB with debug symbols?  That's way too big, we are talking flash as the delivery medium for the code.  Others below seem to see around 400k stripped for a linux .so.
>> Thanks
>> ________________________________________
>> From: zeromq-dev-bounces at lists.zeromq.org [zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Michel Pelletier [pelletier.michel at gmail.com]
>> Sent: Monday, June 04, 2012 10:22 PM
>> To: ZeroMQ development list
>> Subject: Re: [zeromq-dev] embedding zeromq question
>>
>> How small does it need to be?  My 3.0.0 libzmq.a is 2.7MB.  I'm not
>> sure how far you'll get trying to trim the library down by hand.
>> Everything has a purpose, there is little or no superfluous code.
>>
>> -Michel
>>
>> On Mon, Jun 4, 2012 at 10:12 PM, Ishigo, Kelvin K <KKIshigo at directv.com> wrote:
>>> The zeromq functionality makes tremendous sense to me.  I have worked my way through the guide, using the python examples to see how it flows.  I've built several messaging type IPC's and have no desire to generalize them to multiple processes.  It will come down to code size.  Maybe we can do as others did and statically link but I would rather be able to trim out functionality via a smart linker, or if needed, by hand.  It would depend on how modular the internals of libzmq are.
>>> Thank you.
>>> ________________________________________
>>> From: zeromq-dev-bounces at lists.zeromq.org [zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Joshua Foster [jhawk28 at gmail.com]
>>> Sent: Monday, June 04, 2012 9:54 PM
>>> To: ZeroMQ development list
>>> Subject: Re: [zeromq-dev] embedding zeromq question
>>>
>>> The low-latency nature of ZeroMQ makes it ideal for embedded platforms.
>>> As of 3.x, ZeroMQ has no external dependencies (2.1 needs libuuid). My
>>> Windows version is 180KB, and my OSX version is 380KB. Your runtime
>>> needs will depend on how large the messages are and the number of
>>> messages expected in the queue(s).
>>>
>>> Your benefit for 4-5 devices is a highly optimized, stable messaging
>>> solution that you don't need to write. The main features are messaging
>>> patterns (request/reply, publish/subscribe, and pipeline),
>>> re-connection, and atomic message delivery. I have found that I can
>>> develop applications much faster once I got over the initial learning
>>> curve. I would recommend reading at least the first chapter of the guide
>>> (http://zguide.zeromq.org/page:all#toc0).
>>>
>>> Joshua
>>>
>>> On 6/4/2012 8:29 PM, Ishigo, Kelvin K wrote:
>>>> Hello,
>>>> We are looking at distributed message queue solutions and zeromq looks promising... but we deploy on an embedded linux platform(s) (2.6+) which is hosted to several different processor architectures.
>>>> Our main question is whether zeromq is a suitable in this type of environment where we are code footprint limited due to flash on the box.
>>>> Also, is it overkill since we are basically planning to "share" amongst a limited number of devices (4-5)?
>>>> Thank you.
>>>>
>>>> If there are existing threads, please do point me to them as I do not wish to rehash existing discussions.
>>>>
>>>> Kelvin
>>>> _______________________________________________
>>>> zeromq-dev mailing list
>>>> zeromq-dev at lists.zeromq.org
>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>
>>> _______________________________________________
>>> zeromq-dev mailing list
>>> zeromq-dev at lists.zeromq.org
>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>
>>> _______________________________________________
>>> zeromq-dev mailing list
>>> zeromq-dev at lists.zeromq.org
>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev



More information about the zeromq-dev mailing list