Skip to content

Lazy and eager

在software engineering中,这是非常常见的,比如:

1、Evaluation strategies:

2、design pattern

3、initialization

Lazy initialization

Lazy

Lazy load

有的时候,如果一次性的将所有资源导入内存,如果资源较多,则可能导致整个过程耗时较长,这样做有如下弊端:

  • 造成用户需要较长的等待时间
  • 在开发过程中,有的时候只需要测试一个小的模块,压根就无需加载整个资源,这就造成了时间的浪费

如果能够load-on-need,即只在需要的时候才进行加载,则将一次性较长时间的加载分摊到了多次中,则整体的体验会更好一些,也更加节省时间一些。

Example

1、Python lazy load module

2、Lazy evaluation

3、Python generator

python generator是典型的lazy evaluation。

4、Copy-on-write

参见维基百科Copy-on-write

Eager

Example

1、Tensorflow eager