関数型プログラミング-遅延評価

遅延評価は、式の値が必要になるまで式の評価を保持する評価戦略です。繰り返しの評価を回避します。Haskell は、その基本が遅延評価に基づいている関数型プログラミング言語の良い例です。

遅延評価はUnixマップ関数で使用され、ディスクから必要なページのみをロードすることでパフォーマンスを向上させます。残りのページにはメモリは割り当てられません。

遅延評価-利点

  • これにより、言語ランタイムは、式の最終結果に直接リンクされていない部分式を破棄できます。

  • 一時的な計算と条件を破棄することにより、アルゴリズムの時間計算量を削減します。

  • これにより、プログラマーは、循環依存関係がない限り、初期化後にデータ構造のコンポーネントに順不同でアクセスできます。

  • アクセス頻度の低いデータの読み込みに最適です。

遅延評価-欠点

  • 言語ランタイムは、作成することにより、最終結果で必要になるまで部分式の評価を保持するように強制されます。 thunks (遅延オブジェクト)。

  • アルゴリズムのスペースが複雑になる場合があります。

  • 実行前に大量の式が含まれているため、パフォーマンスを見つけるのは非常に困難です。

Pythonを使用した遅延評価

ザ・ rangePythonのメソッドは、遅延評価の概念に従います。これにより、より広い範囲の実行時間が節約され、一度にすべての値が必要になることはないため、メモリ消費も節約されます。次の例を見てください。

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

次の出力が生成されます-

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