Q:

C vs C++ in embedded Linux

I am developing an application for embedded Linux (ARM).  It will execute 500 times/sec, therefore speed is important.  I would prefer to use C++ but I am afraid it will be slower than C even if I avoid fancy features like virtual functions. 
Is there a reason to use C or it's just as fine to write in C++? 

A:

C++ in general suffers no run time penalty over C - (except for a few things like RTTI). 
Except in a few odd circumstances the compiler should be able to determine which virtual function to call at compile time and so add no overhead. 
Edit: Ok with such a variety of compilers, CPUs, runtime libs, OSes there are some features of C++ that might create slower code, there are some features that might create faster code. 
But can we all agree that C++ isn't automatically excluded from embedded use anymore ? 

A:

In C++ you have things like template metaprogramming that resolve in compile time several situations where C or any other procedural programming language would have to do in runtime. 
I should say more.  Template metaprogramming and some class inheritance tricks are really amazing.  It can save you a lot of processing time that you'd spend otherwise by "ifing" and "switching". 
This means that C++ can be actually faster than C if well conducted. 
Obviously you can program "in C" using C++ and you'd have no penalty at all. 
If you're not too fond of C++ I'd advise you to do a "C on C++" or "C with C++ extensions" just to take vantage of C++ improvements, but the real advantage you'll have is by programming the C++ way.  There you will see that C++ is, good part of times, or faster or cleaner than C or, at least as fast as. 
Have no fear.  Face C++. 
After the stdc++ (against libc) there will be almost no overhead in code size.  If your application is from median to high in size, it will be diluted. 
I use C++ from simple 8-bit ATmega to Marvell's ARM9, passing through AVR32 UC3 and Cortex-M3 and always find it profitable. 
If you need specific advise in a given situation, feel free to ask. 

A:

The main reason for choosing C over C++ is size of the compiled binary, which can be a real restriction for embedded systems.  
On performance, there's no measurable difference, if you use the language right.  You can write slow C code just as easily as slow C++, as long as you're aware of the under-the-hood mechanisms of what you're writing you should be fine with either.