I recall a performance challenge on a project I was on in the mid-1990s. It's not just the language, but how well you can implement a solution (your skills have everything to do with this).
We were implementing a middle-tier Tuxedo data cache between the desktop and the host. The one implemented in Smalltalk outperformed the C++ version by an order of magnitude - and C++ was the recommended language for Tuxedo. We felt that the skills of the C++ programmers on the project were probably nowhere near what we required, so we went with the Smalltalk, which met the performance requirements of the application. Keep in mind that you need to factor in the skills of your programmers when you are determining which language is faster. I personally think it's easier to find a highly skilled Java programmer than a comparable C++ programmer.
