[zeromq-dev] Make zeromq load faster?
Mikael Helbo Kjær
mhk at designtech.dk
Fri Oct 15 08:54:57 CEST 2010
> This is the same question I keep asking myself. I have a lot of
> experience with realtime apps on 'industrial PCs', but I've only
> recently started working with truly embedded systems. My
> colleagues---who have decades of experience in this space---feel that
> starting a C++ app from a cold boot will be noticeably slower than
> cold-booting into a C app. I have to defer to them on this.
> It looks like I'm going to be allowed to prototype some new
> functionality using zeromq. I'll recount my experiences on this list to
> let everyone know how it turns out...
First of all I am with Pieter on this. Test before assuming anything about embedded systems, a lot of the developer "folklore" about tools and languages gets outdated a lot faster than the developers think. The embedded world's developers (rightly about some things) is a lot more technology conservative unfortunately that is often so about the wrong things too (I had to fight for logically unit testing our C and CPP code because that was strange to my department back when I did embedded, they tested the devices not the software).
I've run rather large C++ applications on truly embedded boards (Arm7TDMI NXP processors) by statically compiling them against STL. We could see only very minimal differences in startup time, but usually the win in terms of abstraction, code output quality and the like made us happy to have resolved it. There are some things we did limit ourselves to at the time which was: -no polymorphic classes in our code and no exceptions, but really that was just the bias of our manager and his opinion on exceptions. Finally we decided that our code used no dynamic allocations (no heap only stack), but that was more because of our OS than anything else.
I'll be watching with interest to hear your results with zeromq because we're looking at it with regards to making near-embedded or maybe even really embedded targets.
More information about the zeromq-dev