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 <[email protected]> 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 <[email protected]> > 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: [email protected] >> [[email protected]] On Behalf Of Michel Pelletier >> [[email protected]] >> 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 <[email protected]> >> 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: [email protected] >>> [[email protected]] On Behalf Of Joshua Foster >>> [[email protected]] >>> 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 >>>> [email protected] >>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >>> _______________________________________________ >>> zeromq-dev mailing list >>> [email protected] >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >>> _______________________________________________ >>> zeromq-dev mailing list >>> [email protected] >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >> _______________________________________________ >> zeromq-dev mailing list >> [email protected] >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >> >> _______________________________________________ >> zeromq-dev mailing list >> [email protected] >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
