I've anecdotally heard of F# kicking C#s butt when it comes to throughput, but you'll have to poke around on the web to find out more. Sorry I can't provide more details.
Seems like I remember reading a blog where there were some gamer-programmers who had these huge log files to process. Using C# it was just too much -- it took too long. But by using F# (and block operations I think?) they reduced it to some crazy time like 5 minutes or something.
Theoretically they should be the same; they all run on the CLR. But I think F# lends itself to stuff like tail-recursion and data operations such that the code has a tendency to self-optimize as you write it, which is kinda neat.
> Theoretically they should be the same; they all run on the CLR. But I think F# lends ...
I think you are misunderstanding this part. Tail call optimization can (sometimes) allow functional code be as fast as its imperative equivalent. It's not a magic bullet that makes it faster than the imperative code.