Сергей Кищенко сравнил скорость работы разных языков, включая Haskell на примере вычисления факториала. Разумеется, он совершил классическую ошибку, записав факториал в рекурсивной форме, из-за чего результат для Haskell получился много хуже, чем мог бы быть. По катом правильный вариант:( код )
И вот собственно результат:
D:\haskell\fac>fac.exe 200000
Starting...
fac_tail: 54.547 sec (вариант с хвостовой рекурсией)
fac_foldl: 45.875 sec (вариант через foldl1' - foldl c форсированным вычислением)
fac_simple: 251.547 sec (наивный, рекурсивный вариант)
Done.
И вот собственно результат:
D:\haskell\fac>fac.exe 200000
Starting...
fac_tail: 54.547 sec (вариант с хвостовой рекурсией)
fac_foldl: 45.875 sec (вариант через foldl1' - foldl c форсированным вычислением)
fac_simple: 251.547 sec (наивный, рекурсивный вариант)
Done.