Although, most of the time laziness is only useful at a single level, and that kind of laziness can be easily done in languages like C++ with a much lower overhead.
It's a bit sad that GHC has so many advanced code optimization methods but performance is still lacking.
Yes, you can write high-performance Haskell but it requires expertise or huge amount of profiling and time.
On the other hand, you can easily write faster (speed-wise) prototypes in C++ and get superior performance almost all the time.
List of ways to write performant Haskell: https://news.ycombinator.com/item?id=10209798