On Thu, 5 Jan 2006, Linus Torvalds wrote:
That way the "profile data" actually follows the source code, and is thus actually relevant to an open-source project. Because we do _not_ start having specially optimized binaries. That's against the whole point of being open source and trying to get users to get more deeply involved with the project.
Btw, having annotations obviously works, although it equally obviously will limit the scope of this kind of profile data. You won't get the same kind of granularity, and you'd only do the annotations for cases that end up being very clear-cut. But having an automated feedback cycle for adding (and removing!) annotations should make it pretty maintainable in the long run, although the initial annotations migh only end up being for really core code.
There's a few papers around that claim that programmers are often very wrong when they estimate probabilities for different code-paths, and that you absolutely need automation to get it right. I believe them. But the fact that you need automation doesn't automatically mean that you should feed the compiler a profile-data-blob.