Inspired by a question from SO: http://stackoverflow.com/questions/6623391/how-to-gain-control-of-a-5gb-heap-in-haskell
It can be a long debate about FP's numerous advantages and disadvantages, but for now, I'd like to narrow the scope to principal efficiency of FP on modern hardware.
Functional paradigm implies immutability and statelessness (?), but the hardware we run functional programs on are stateful finite automata. Translation of 'pure functional' program to a 'stateful hardware' representation leaves little control to programmer, brings overhead (?) and limits the use of hardware capabilities (?).
Am I right or wrong in the questioned statements?
Can it be proven that FP does / doesn't imply principal performance penalties on modern general-purpose computer architecture?
EDIT: As I've already stated in response to some comments, the question isn't about implementation performance and details. It is about presence or absence of principal overhead, which running FP on stateful automata may bring.