Q: But does it Affect performance considerably ..?
A: I've used it on a larger project w/o any degradation.
Q: Does it exposes My Source Code ..?
A: No, it just exposes function names.
Q: Does it affect total runtime performance or startup time ..?
A: In my experience, no. Most functions are already exported. Usually this adds the static functions.
Q: What are the disadvantages of 'rdynamic' ..?
A: rdynamic can be used with dlopen()
to have a shared/global symbol table for the executable which was a must in my project (dynamic_cast<> will work across SO boundaries). The downside is function name collision between SOs.