我正在寻找一种函数式算法(或其算法的论据),它比命令式算法更快。
我喜欢函数式代码,因为它具有表现力,并且通常比命令式代码更容易阅读。但我也知道,这种表现力可能会造成运行时开销。并不总是由于尾递归等技术 - 但它们经常较慢。
编程时,我不考虑函数式代码的运行时成本,因为现今的电脑非常快,开发时间比运行时间更昂贵。此外,对我而言,可读性比性能更重要。尽管如此,我的程序足够快,所以我很少需要用命令式方式解决问题。
有些算法在实践中应该采用命令式风格来实现(例如排序算法),否则在大多数情况下,他们将太慢或需要大量内存。 相比之下,由于诸如模式匹配之类的技术,使用函数式语言编写的整个程序(如解析器)可能比使用命令式语言编写的程序快得多,这是由于编译器优化代码的可能性。
但是,是否有任何算法在函数式风格下速度更快,或者是否有设置此类算法参数的可能性呢?