Pipette.Parallel (pipette_elixir v0.1.3)

Bounded parallelism that feels like Enum.

Summary

Functions

Parallel filter via mapper that returns boolean.

Parallel reduce. Order-insensitive by default.

Types

pmap_opt()

@type pmap_opt() ::
  {:max_concurrency, pos_integer()}
  | {:timeout, timeout()}
  | {:ordered, boolean()}

Functions

pfilter(enum, pred, opts)

@spec pfilter(Enumerable.t(), (any() -> as_boolean(term())), [pmap_opt()]) :: [any()]

Parallel filter via mapper that returns boolean.

pmap(enum, fun, opts)

@spec pmap(Enumerable.t(), (any() -> any()), [pmap_opt()]) :: [any()]

pmap_reduce(enum, init, mapper, reducer, opts)

@spec pmap_reduce(Enumerable.t(), acc, (any() -> any()), (acc, any() -> acc), [
  pmap_opt()
]) :: acc
when acc: var

Parallel reduce. Order-insensitive by default.