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