gpt4 book ai didi

sml - foldl 与 foldr : which should I prefer?

转载 作者:行者123 更新时间:2023-12-04 05:55:00 25 4
gpt4 key购买 nike

我记得当我展示我写给教授的一些代码时,他说,

It rarely matters, but it's worth noting that fold* is a little bit more efficient than fold*' in SML/NJ, so you should prefer it over fold* when possible.

我忘记了 fold*foldr 还是 foldl。我知道这是在实践中可能不会产生太大影响的微优化之一,但我想养成在有选择时使用更高效的习惯。

哪个是哪个?我的猜测是,这是特定于 SML/NJ 的,MLton 将足够聪明,可以将两者优化到相同的机器代码,但其他编译器的答案很高兴知道。

最佳答案

foldl 是尾递归的,而 foldr 不是。虽然您可以通过反转列表(这是尾递归)以尾递归方式执行 foldr,然后执行 foldl

只有在折叠大量列表时才有意义。

关于sml - foldl 与 foldr : which should I prefer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25624777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com