etree.parallel_map

Contents

etree.parallel_map#

etils.etree.parallel_map(map_fn: Callable[[...], etils.etree.tree_utils._Tout], *trees: Any | list[etils.etree.typing._T | list[Tree] | tuple[Tree, ...] | dict[str, Tree]] | tuple[etils.etree.typing._T | list[Tree] | tuple[Tree, ...] | dict[str, Tree], ...] | dict[str, etils.etree.typing._T | list[Tree] | tuple[Tree, ...] | dict[str, Tree]], num_threads: int | None = None, progress_bar: bool = False, is_leaf: collections.abc.Callable[[Any], bool] | None = None) etils.etree.tree_utils._Tout | list[etils.etree.typing._T | list[Tree] | tuple[Tree, ...] | dict[str, Tree]] | tuple[etils.etree.typing._T | list[Tree] | tuple[Tree, ...] | dict[str, Tree], ...] | dict[str, etils.etree.typing._T | list[Tree] | tuple[Tree, ...] | dict[str, Tree]][source]#

Same as tree.map_structure but apply map_fn in parallel.

Parameters:
  • map_fn – Worker function

  • *trees – Nested input to pass to the map_fn

  • num_threads – Number of workers (default to CPU count * 5)

  • progress_bar – If True, display a progression bar.

  • is_leaf – Don’t recurse into leaf if is_leaf(node) is True

Returns:

The nested structure after map_fn has been applied.