It's true of C# as well. Implementing the full suite of performance tricks precludes object-oriented techniques every bit as much as it precludes functional techniques, because the fastest possible code path is rarely going to wander through a vtable.
I suppose, though, that it's always easier to throw a baby out with the bathwater when it's someone else's baby.
I kind of agree... although I still think F# is a win over C#. IMO the syntax is much nicer and idiomatic F# is still pretty fast.
However, I wish the compiler would more aggressively optimise things so that I can dip into this style less often. I shouldn’t have to write the imperative stuff if the translation is mechanical!
The C++ compilers do far more work for the user, despite F# being a language much more conducive to being optimised.
It would be great if Microsoft Research could sponsor a project in this area.
There is no place for high order functions and functional constructs in high performance F# code.