Skip to content

Commit c85bae2

Browse files
authored
Follow up to expression tokenization caching (dask#11837)
1 parent 9c3146a commit c85bae2

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

dask/array/_array_expr/_collection.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ def __dask_keys__(self):
6767
out = self.expr.lower_completely()
6868
return out.__dask_keys__()
6969

70+
def __dask_tokenize__(self):
71+
return "Array", self.expr._name
72+
7073
def compute(self, **kwargs):
7174
return DaskMethodsMixin.compute(self.optimize(), **kwargs)
7275

dask/array/_array_expr/_expr.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
from dask.array.core import T_IntOrNaN, common_blockdim, unknown_chunk_message
1717
from dask.blockwise import broadcast_dimensions
1818
from dask.layers import ArrayBlockwiseDep
19-
from dask.tokenize import _tokenize_deterministic
2019
from dask.utils import cached_cumsum
2120

2221

@@ -96,6 +95,9 @@ def keys(*args):
9695
self._cached_keys = result = keys()
9796
return result
9897

98+
def __dask_tokenize__(self):
99+
return self._name
100+
99101
def __hash__(self):
100102
return hash(self._name)
101103

@@ -190,7 +192,7 @@ def chunks(self):
190192

191193
@functools.cached_property
192194
def _name(self):
193-
return "stack-" + _tokenize_deterministic(*self.operands)
195+
return "stack-" + self.deterministic_token
194196

195197
def _layer(self) -> dict:
196198
keys = list(product([self._name], *[range(len(bd)) for bd in self.chunks]))
@@ -239,7 +241,7 @@ def chunks(self):
239241

240242
@functools.cached_property
241243
def _name(self):
242-
return "stack-" + _tokenize_deterministic(*self.operands)
244+
return "stack-" + self.deterministic_token
243245

244246
def _layer(self) -> dict:
245247
axis = self.axis

dask/array/_array_expr/_shuffle.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
from dask.array.chunk import getitem
1313
from dask.array.dispatch import concatenate_lookup, take_lookup
1414
from dask.base import tokenize
15-
from dask.tokenize import _tokenize_deterministic
1615

1716

1817
def _validate_indexer(chunks, indexer, axis):
@@ -56,10 +55,6 @@ def _meta(self):
5655
def _name(self):
5756
return f"{self.operand('name')}-{self._token}"
5857

59-
@functools.cached_property
60-
def _token(self):
61-
return _tokenize_deterministic(*self.operands)
62-
6358
@functools.cached_property
6459
def chunks(self):
6560
output_chunks = []
@@ -118,7 +113,7 @@ def _layer(self) -> dict:
118113
intermediates: dict = dict()
119114
merges: dict = dict()
120115
dtype = np.min_scalar_type(max(max(chunks[axis]), self._chunk_size_limit))
121-
split_name = f"shuffle-split-{self._token}"
116+
split_name = f"shuffle-split-{self.deterministic_token}"
122117
slices = [slice(None)] * len(chunks)
123118
split_name_suffixes = count()
124119
sorter_name = "shuffle-sorter-"

dask/array/_array_expr/_slicing.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
)
2323
from dask.array.utils import meta_from_array
2424
from dask.layers import ArrayBlockwiseDep
25-
from dask.tokenize import _tokenize_deterministic, tokenize
25+
from dask.tokenize import tokenize
2626
from dask.utils import cached_cumsum, is_arraylike
2727

2828

@@ -369,7 +369,7 @@ def take(x, index, axis=0):
369369
class Slice(ArrayExpr):
370370
@functools.cached_property
371371
def _name(self):
372-
return f"getitem-{_tokenize_deterministic(*self.operands)}"
372+
return f"getitem-{self.deterministic_token}"
373373

374374
@functools.cached_property
375375
def _meta(self):

dask/dataframe/dask_expr/_expr.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3045,7 +3045,7 @@ class _DelayedExpr(Expr):
30453045
# TODO
30463046
_parameters = ["obj"]
30473047

3048-
def __init__(self, obj):
3048+
def __init__(self, obj, _determ_token=None):
30493049
self.obj = obj
30503050
self.operands = [obj]
30513051

@@ -3073,7 +3073,7 @@ def ndim(self):
30733073
class DelayedsExpr(Expr):
30743074
_parameters = []
30753075

3076-
def __init__(self, *delayed_objects):
3076+
def __init__(self, *delayed_objects, _determ_token=None):
30773077
self.operands = delayed_objects
30783078

30793079
def __str__(self):

0 commit comments

Comments
 (0)