延迟计算(Lazy)

延迟计算(Lazy) 首页 / 函数式入门教程 / 延迟计算(Lazy)

惰性判断是一种判断策略,用于保留对表达式的判断,直到需要其值为止,这样可以避免重复判断, Haskell 是这种函数性编程语言的一个很好的示例,其基础是基于惰性判断。

Unix映射函数中使用了惰性求值,通过仅从磁盘加载所需的页面来提高其性能,剩余的页面将不会分配内存。

懒惰判断-优势

懒惰判断-缺点

  • 通过创建 thunks (延迟的对象),它强制语言运行时保留子表达式的求值,直到最终输出中需要它为止。

  • 有时会增加算法的空间复杂度。

    无涯教程网

  • 很难找到它的性能,因为它在执行之前包含大量表达式。

Python惰性判断

Python中的 range 方法遵循惰性判断的概念。它节省了较大范围的执行时间,而且我们一次不需要所有值,因此也节省了内存消耗。看下面的示例。

r=range(10) 
print(r) 
range(0, 10) 
print(r[3]) 

它将产生以下输出-

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
3 

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学大数据 -〔李智慧〕

Java并发编程实战 -〔王宝令〕

TypeScript开发实战 -〔梁宵〕

SRE实战手册 -〔赵成〕

如何看懂一幅画 -〔罗桂霞〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

B端体验设计入门课 -〔林远宏(汤圆)〕

结构执行力 -〔李忠秋〕

云时代的JVM原理与实战 -〔康杨〕

好记忆不如烂笔头。留下您的足迹吧 :)