[Ns-developers] icc and "patched" waf

Mathieu Lacage mathieu.lacage at sophia.inria.fr
Thu Jan 22 05:03:36 PST 2009

hi timo,

I won't comment on the waf problems but, if you are trying to get the
most out of ns-3, the biggest impact you can have on the performance is
to build a static binary: if you build all of the ns-3 object files
without the -fPIC option and link them all in your script, you will get
a fairly big boost in speed: when I did this by hand on a couple of
examples, I got up to 40% runtime improvements. If you want to know how
I did this, I just ran ./waf -v > output and then, wrote a couple of sed
scripts to modify the output and feed this to a shell script.

Ideally, there would be a way to get non-dynamic libraries from our waf
scripts but, I did not want to bother gustavo with this too much and I
was not motivated enough to try to do it myself.

I hope this helps,

On Thu, 2009-01-22 at 13:10 +0100, Timo Bingmann wrote:
> Hello Gustavo,
> one of my side-projects is to evaluate ns-3's performance. In that context I have to try out, if using icc Intel's C/C++ Compiler gives a measureable boost. The super-computer people said I should try that. Also my own performance measurements of cryptography ciphers showed icc to be the most optimizing compiler.
> The big problem is waf. It's my first contact with Python too, but that's not an issue.
> waf seems to have only poor support for icc, actually only C(--) support. I looked into the wafadmin/Tools and hacked around in icc.py until it finally worked (pure luck).
> I'm kind of happy at that, but I couldn't "compile" the wafadmin back into a waf stand-alone. Do I need some patched waf sources from you to do that?
> Later on I'll sent patches to the waf people about icc support, and also my stdout/stderr inconveniences.
> Where can I find the ns-3-modified waf tree to patch in icc support? At least in my private repos.
> Greetings
> Timo

More information about the Ns-developers mailing list