|I wouldn't worry too much about how many instructions there are in the program. Efficiency of the algorithm that you are using and sensible optimization are far more important.|
An example of the former: You are writing a sort program. Now you could use bubble sort, but this is fairly slow. You would be better advised to use the QuickSort algorithm. I suspect that it will end up as a longer program, but it will run orders of magnitude faster.
An example of the latter: If you are writing a program that contains a loop (as most programs do) consider whether there are any instructions that could be moved outside of the loop without altering the logic. That sort of optimization can speed up a program appreciably. Another optimization is to look at any short functions in your program. If, in particular, you have any one or two line functions it will be more efficient (but less elegant) to insert those couple of lines everywhere that you would have called the function; that way you save the overhead of the function call. Good compilers can actually make these optimizations for you.
If you really are aiming for maximum speed then you need to start looking at assembler programming. But be aware that with modern processors it can be quite difficult to work out exactly how many clock cycles it takes to process a particular set of instructions. Look for any parts of the code that are traversed a lot and see if you could replace them with a bit of assembler. Profilers help here to determine which bits of a program are most often executed and so would benefit most from optimization.
As for C versus C++, in my opinion a well-written C program will almost always be quicker than a C++ program. The niceties of object orientation can be relatively expensive in processor time. But this is only important when you have a program that must execute at the maximum speed. In the real world this is seldom the case and the enhanced readability and ease of maintenance of a C++ program makes it the better choice.
My particular interest is operating systems, so I tend to use a mixture of assembler and C. But if I was writing general purpose programs I would go for C++.
I hope this makes some sense to you. Maximizing the speed of programs is quite a complicated task, and is not always the best choice. For most real-world programs ease of maintenance, by yourself or others, is far more important.