MCPcopy Create free account
hub / github.com/dask/dask / optimize_until

Function optimize_until

dask/_expr.py:928–958  ·  view source on GitHub ↗
(expr: Expr, stage: OptimizerStage)

Source from the content-addressed store, hash-verified

926
927
928def optimize_until(expr: Expr, stage: OptimizerStage) -> Expr:
929 result = expr
930 if stage == "logical":
931 return result
932
933 # Simplify
934 expr = result.simplify()
935 if stage == "simplified-logical":
936 return expr
937
938 # Manipulate Expression to make it more efficient
939 expr = expr.rewrite(kind="tune", rewritten={})
940 if stage == "tuned-logical":
941 return expr
942
943 # Lower
944 expr = expr.lower_completely()
945 if stage == "physical":
946 return expr
947
948 # Simplify again
949 expr = expr.simplify()
950 if stage == "simplified-physical":
951 return expr
952
953 # Final graph-specific optimizations
954 expr = expr.fuse()
955 if stage == "fused":
956 return expr
957
958 raise ValueError(f"Stage {stage!r} not supported.")
959
960
961class LLGExpr(Expr):

Callers 3

explainFunction · 0.90
optimizeMethod · 0.85
optimizeFunction · 0.85

Calls 4

lower_completelyMethod · 0.80
simplifyMethod · 0.45
rewriteMethod · 0.45
fuseMethod · 0.45

Tested by

no test coverage detected