As the title implies basically: Say we have a complex program and we want to make it faster however we can. Can we somehow detect which loops or other parts of its structure take most of the time for targeting them for optimizations?
edit: Notice, of importance is that the software is assumed to be very complex and we can’t check each loop or other structure one by one, putting timers in them etc..
You’re looking for a profiler. There are several around; since you mention gcc you might want to check gprof (part of binutils). There’s also Google Perf Tools although I have never used them.